Kompilacja aplikacji równoległych: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
Linia 40: | Linia 40: | ||
! nazwa wrapera | ! nazwa wrapera | ||
|- | |- | ||
− | | kompilator C | + | | kompilator C |
− | | | + | | icc |
+ | | mpicc | ||
|- | |- | ||
− | | | + | | |
| Komórka 2, wiersz 2 | | Komórka 2, wiersz 2 | ||
|- | |- |
Wersja z 13:48, 30 sie 2011
< Podręcznik użytkownika KDM < Kompilacja aplikacji równoległych
Znakomita większość oprogramowania na klastrze zainstalowana jest tak, aby korzystała z któregoś z protokołów wymiany informacji między procesami (mpi, OpenMP, PVM). Podczas kompilacji rónoległych aplikacji należy odnieść się, odpowiednio konfigurując srodowisko systemowe, do bibliotek wspomnianych wyżej protokołów.
Odpowiednie ustawienie środowiska pracy polega na:
- załadowaniu modułu dla wybranego kompilatora np.
module load intel/12.0 intel/12.0 load complete
- załadowaniu odpowiednich bibiliotek mpi-owych np.
module load mvapich2/1.5.1p1 mvapich2/1.5.1p1 load complete Należy pamiętać, aby biblioteki mpi-owe zostały zbudowane wersją kompilatora, na kŧórą wskazują
zmienne środowiskowe.
- załadowabnie innych bibliotek wymaganych przez kompilowaną aplikację, na przykład matematycznych:
module load mkl/12.0.1.107 mkl/12.0.1.107 load complete
Proces kompilacji
Najłatwiej skorzystać z wrapera. Wraper to skrypt, który odwołuje się do właściewego kompilatora i ustawia za użytkownika odpowiednie opcje. Opcje związane są m.in. ze sposobem linkowania współdzielonych_bibliotek(shared objects) mpi-owych.
Pakiet kompilatorów zainstalowanych na klastrze "intel" zawiera nastepujące elementy:
- kompilator C - icc
- kompilator C++ - icpc
- kompilator FORTRAN77 - ifort
- kompilator FORTRAN90 - ifort
Sprzężone z nimi w wrapery to:
- kompilator C - mpicc
- kompilator C++ - mpicxx
- kompilator FORTRAN77 - mpif77
- kompilator FORTRAN90 - mpif90
nazwa kompilatora | symbol kompilatora | nazwa wrapera |
---|---|---|
kompilator C | icc | mpicc |
Komórka 2, wiersz 2 | ||
Komórka 1, wiersz 3 | Komórka 2, wiersz 3 | |
Komórka 1, wiersz 4 | Komórka 2, wiersz 4 |