Strona główna > C/C++, Poradniki > Sprawmy by to zadziałało: mpich2 + Windows 7 + Visual Studio 2008/2010 C++

Sprawmy by to zadziałało: mpich2 + Windows 7 + Visual Studio 2008/2010 C++

Listopad 4, 2012 Dodaj komentarz Go to comments

Zmuszenie mpich2 do działania na Windows 7 nie zawsze jest proste. Przygotowałem zestaw kroków, które przy odrobinie szczęścia pozwolą przejść bezboleśnie przez proces konfiguracji.

Instalacja
Ściągamy plik instalacyjny ze strony www.mcs.anl.gov. Koniecznie wybieramy wersję, która odpowiada naszemu systemowi (x64 lub x86). Instalujemy.

Zmienne środowiskowe
Wchodzimy w Panel sterowania\System i zabezpieczenia\System\Zaawansowane ustawienia systemu\Zmienne środowiskowe i modyfikujemy zmienną path. Dodajemy ścieżkę do folderu bin w miejscu, gdzie zainstalowaliśmy mpich (domyślnie będzie to C:\Program Files\MPICH2\bin dla wersji x64 i C:\Program Files (x86)\MPICH2\bin dla wersji x86). Pamiętamy o oddzieleniu nowej ścieżki od pozostałych średnikiem.

Windows Defender
Dodajemy wyjątki w osłonie dla …\MPICH2\bin\mpiexec.exe oraz …\MPICH2\bin\smpd.exe.

Kontrola użytkownika
Radzę również wyłączyć kontrolę użytkownika (UAC) przynajmniej na czas konfiguracji. Możemy to zrobić w Panel sterowania\System i zabezpieczenia\Zmień ustawienia funkcji kontrola użytkownika ustawiając suwak na minimum.

Rejestracja
Uruchamiamy …\MPICH2\bin\wmpiregister.exe (najlepiej jako administrator), podajemy nazwę konta, na którym jesteśmy zalogowani oraz hasło, a następnie klikamy na Register. Wychodzimy wciskając OK. Uwaga: Nie ma możliwości zarejestrowania pustego hasła jednak nie testowałem tego problemu. Możecie napisać do mnie co zrobić w takim wypadku.

Konfiguracja
Uruchamiamy …\MPICH2\bin\wmpiconfig.exe (najlepiej jako administrator, może otwierać się kilka sekund), wybieramy port na szczycie listy (jeśli chcemy korzystać z innego portu niż domyślny wpisujemy go), następnie zatwierdzamy nasz wybór i zamykamy okno. Uwaga: wybrany port musi być otwarty i wolny.

Nowy projekt w Visual Studio
Powinniśmy teraz przetestować naszą konfigurację. Tworzymy nowy, pusty projekt C++ typu Win32 Console Application. Nazwę wybieramy dowolną (np. MPITest).

VC++ Directories
Otwieramy właściwości projektu w Visual Studio 2010, a następnie wchodzimy w Configuration Properties\VC++ Directories. Jeśli korzystamy z wersji 2008, te same ustawienia znajdziemy w Tools\Options\Projects and Solutions\Visual C++ Directories.

Dodajemy odpowiednio …\MPICH2\include do include directories oraz …\MPICH2\lib do library directories. Pamiętamy też, aby zmienić platformę na 64-bitową jeśli korzystamy z takiej wersji systemu (robimy w Configuration Manager, który znajduje się w tym samym oknie).

Hello world
Dodajemy wszystkie pliki z folderu …\MPICH2\lib o rozszerzeniem lib do folderu Resource Files oraz tworzymy plik main.cpp zawierający poniższy kod.

#include <stdio.h>
#include <mpi.h>

int main(int argc, char* argv[]) {
MPI_Init(&argc,&argv);
printf("Hello world!\n");
MPI_Finalize();
return 0;
}

Jeśli wszystko zrobiliśmy dobrze, możemy „zbudować rozwiązanie”. Klikam na Build\Build Solution i czekamy, aż na dole wyświetli się komunikat Build succeeded.

Uruchomienie programu
Tak skompilowany program możemy uruchomić na kilka sposobów, pozwolę sobie przedstawić najłatwiejszy. Uruchamiamy …\MPICH2\bin\wmpiexec.exe, wybieramy nasz MPITest.exe, określamy liczbę procesorów w zależności od liczby dostępnych i klikamy w Execute. Jeśli każdy procesor przywitał się ze światem wszystko zrobiliśmy dobrze. Gratulację.😉

  1. Brak komentarzy.
  1. No trackbacks yet.

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

%d bloggers like this: