Jak zainstalować obsługę MPI na Ubuntu?

Mam tu na myśli na jednym nie połączonej z innymi maszynami komputerze, który ma tylko jeden rdzeń. Podejrzewam jednak, że zadziała dla posiadaczy kilku.

Problem wydać mógłby się banalny, ale jednak już dwa razy nad nim siedziałem; raz przypadkiem trafiłem, a za drugim nie mogłem sobie przypomnieć co zrobiłem za pierwszym. Dlatego wolę to sobie teraz zapisać.

Message Passing Interface na Ubuntu, czy na innych dystrybucjach, jest zainstalować łatwo, trochę ciężko za to skłonić go emulowania równoległości. Jak instalowałem mpich, czy openmpi, to wyglądało to jakby ten sam program został uruchomiony ileś tam razy, z tym, że każdy z nich nie był połączony z zresztą – każda instancja postrzegała się jako uruchomiona samotnie.

Aby móc cieszyć się poprawnie działającym wynikami działania kompilatora mpicc, należy zainstalować pakiet lam4-dev:

sudo apt-get install lam4-dev

Powinno wystarczyć. Jakby się nie zainstalował automatycznie, to trzeba ręcznie dorzuć pakiet lam-runtime. “Klaster” inicjujemy przez wpisanie lamboot, od tej pory powinno działać polecenie mpirun.

Tak nawiasem: można też skorzystać z dystrybucji PelicanHPC GNU Linux, która jako przerobiony Knoppix uruchamia się z płytki, wzbogacona o liczne narzędzia do programowania równoległego.

Dodane:

Przykładowy plik Hello World dla MPI można znaleźć np. na stronie: Hello World MPI Examples (pierwszym wynik w Google). Uwaga! tam jest: int rank, size, a powinno być: int rank, size;.

2 thoughts on “Jak zainstalować obsługę MPI na Ubuntu?

  1. Czyli w końcu udało się odpalić MPI-LAM, tak?

    Z tego, co pamiętam, to przy próbie zmuszenia wielu komputerów do pracy trzeba zwrócić szczególną uwagę na następujące zmienne systemowe:

    export MPI_HOME=/opt/lam/gnu/
    export PATH=$MPI_HOME/bin/:$PATH
    export LD_LIBRARY_PATH=$MPI_HOME/lib:$LD_LIBRARY_PATH

    Ale to w przypadku, gdy nie instalujemy ustrojstwa z paczek. Do tego plik z hostami oraz poprawna konfiguracja SSH (znane hosty i brak hasła na kluczu prywatnym). A z tego korzystałem do uruchamiania draństwa:

    lamboot plik_z_hostami

    mpicc main.c -o prg
    mpirun -np liczba_hostów ./prg

    lamhalt

    W sumie to piszę to tu, nie z tego względu, że możesz o tym nie wiedzieć (a wiem, że wiesz), ale dla osób, które mogą tutaj ew. wpaść np. z wyszukiwarek ;]

    Like

  2. Tak, w końcu udało mi się uruchomić ten „klaster”. W sieci jest bardzo dużo materiałów na temat MPI i wielu kompów, mało dość na temat jak się pobawić na jednej maszynie. Może skoro już piszę, to napiszę i, że na Pelicanie nie ma z tym problemów – mamy to już na starcie.

    Like

Comments are closed.