OpenMP, MPI na Ubuntu i Eclipse
Napisane: 29.11.2008 | Działy: Linux | 1 CommentTagi: c++, eclipse, Linux, mpi, OpenMP, porady, Ubuntu, uczelnia
W tym semestrze na uczelni mam programowanie równoległe. Ostatnio przerabiamy zagadnienia związane z OpenMP i MPI. Niestety sposób instalacji i konfiguracji tych rozszerzeń w szczegółowy sposób został wyjaśniony tylko i wyłącznie pod windowsem. Dlatego, mimo niewielkiej ilości wolnego czasu, postanowiłem napisać tą notkę. Może zostanie gdzieś podlinkowana i przyda się komuś w przyszłości.
Zanim zaczniemy
Wszystkie operacje wykonywałem na Ubuntu 8.04.1 jednak powinny spokojnie działać ze starszymi i trochę nowszymi wersjami.
Zakładam, że radzisz sobie z pakietami i repozytoriami w Ubuntu. Nie będę opisywał tutaj krok po kroku jak dodać repozytorium czy zainstalować jakiś pakiet.
Instalacja OpenMP
Implementacją OpenMP dla g++ jest GOMP. W systemie funkcjonalność tą dostarcza pakiet libgomp1. Sprawdź czy masz ten pakiet w systemie, jeśli nie doinstaluj go (ja miałem zainstalowany domyślnie).
Konfiguracja Eclipse do współpracy z OpenMP
Jedyną czynnością jaką musimy wykonać to poinformowanie kompilatora, że powinien używać biblioteki OpenMP.
Po utworzeniu projektu c++ przechodzimy ustawień kompilacji (Project->Properties->C/C++ Build->Settings) i dodajemy opcje -fopenmp dla kompilatorów i linkera (należy ją dopisać w miscellaneous).
Uwaga! Pamiętaj, że domyślnie mamy 2 konfiguracje: Debug i Realase. Musisz zmodyfikować obie.

Instalacja MPI
Nie próbowałem jeszcze uruchamiać MPI na kilku komputerach. Poniższy poradnik dotyczy tylko uruchamiania MPI na 1 maszynie (jak tylko przetestuję to na wielu komputerach natychmiast odezwę się na blogu).
Na tej stronie znajdziecie link do strony z repozytorium, z którego pobierzemy i zainstalujemy pakiety mpich2 oraz mpich2-dev.
Po instalacji musimy stworzyć w katalogu domowym plik .mpd.conf z uprawnieniami 600. Wpisujemy do niego tylko jedną linijkę MPD_SECRETWORD=moje_tajne_haslo.
-
echo "MPD_SECRETWORD=moje_tajne_haslo" > .mpd.conf
-
chmod 600 .mpd.conf
Konfiguracja Eclipse do współpracy z MPI
Tutaj sprawa jest równie prosta jak poprzednio. Znów przechodzimy do ustawień kompilacji i zmieniamy komendę kompilacji C++ i linkowania z “g++” na “mpicxx”.

Uruchamianie aplikacji
Do uruchomiania skompilowanej aplikacji służy polecenie mpiexec (jak na windowsie). Nie uruchomiliśmy demona MPI w systemie dlatego pierwsze odpalamy go poleceniem
-
mpd &
a dopiero później używamy mpiexec.
Podsumowanie
Szybko, łatwo i przyjemnie tzw. ubuntu way (zaraz będzie atak makowców na moją osobę, ale co tam). O M$ i uczelniach pisałem już wcześniej w poście Uczelnie, studenci i Microsoft.
Bawcie się dobrze z OpenMP i MPI pod Ubuntu :D



Komentarze
1 Comment Dodaj komentarzNastępnym razem poproszę tutorial o konwertowaniu filmów i plików tekstowych na iPoda ;P