Kompilacja aplikacji równoległych: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
Linia 4: | Linia 4: | ||
Podczas kompilacji rónoległych aplikacji należy odnieść się, odpowiednio [[korzystanie z modułów | konfigurując srodowisko systemowe]], do bibliotek wspomnianych wyżej protokołów. | Podczas kompilacji rónoległych aplikacji należy odnieść się, odpowiednio [[korzystanie z modułów | konfigurując srodowisko systemowe]], do bibliotek wspomnianych wyżej protokołów. | ||
− | === | + | ===Ustawienie środowiska pracy polega na:=== |
* załadowaniu modułu dla wybranego kompilatora np. | * załadowaniu modułu dla wybranego kompilatora np. | ||
module load intel/12.0 | module load intel/12.0 | ||
Linia 15: | Linia 15: | ||
module load mkl/12.0.1.107 | module load mkl/12.0.1.107 | ||
mkl/12.0.1.107 load complete | mkl/12.0.1.107 load complete | ||
− | |||
===Proces kompilacji=== | ===Proces kompilacji=== |
Wersja z 14:00, 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.
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.
nazwa kompilatora | symbol kompilatora | nazwa wrapera |
---|---|---|
kompilator C | icc | mpicc |
kompilator C++ | icpc | mpicxx |
kompilator FORTRAN77 | ifort | mpif77 |
kompilator FORTRAN90 | ifort90 | mpif90 |