Kompilacja aplikacji równoległych: Różnice pomiędzy wersjami

Z KdmWiki
Przejdź do nawigacji Przejdź do wyszukiwania
Linia 20: Linia 20:
  
 
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 [http://pl.wikipedia.org/wiki/Biblioteka_wsp%C3%B3%C5%82dzielona bibliotek_współdzielonych](shared objects).
 
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 [http://pl.wikipedia.org/wiki/Biblioteka_wsp%C3%B3%C5%82dzielona bibliotek_współdzielonych](shared objects).
Pakie kompilatorów zainstalowanych na klastrze "intel" zawiera nastepujące elementy:
+
 
 +
Pakiet kompilatorów zainstalowanych na klastrze "intel" zawiera nastepujące elementy:
 
*kompilator C - icc
 
*kompilator C - icc
 
*kompilator C++ - icpc
 
*kompilator C++ - icpc
 
*kompilator FORTRAN - ifort
 
*kompilator FORTRAN - ifort
 +
 +
Sprzężone z nimi w wrapery to:
 +
*kompilator C - mpicc
 +
*kompilator C++ - mpicxx
 +
*kompilator FORTRAN77 - mpif77
 +
*kompilator FORTRAN90 - mpif90

Wersja z 13:40, 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 bibliotek_współdzielonych(shared objects).

Pakiet kompilatorów zainstalowanych na klastrze "intel" zawiera nastepujące elementy:

  • kompilator C - icc
  • kompilator C++ - icpc
  • kompilator FORTRAN - ifort

Sprzężone z nimi w wrapery to:

  • kompilator C - mpicc
  • kompilator C++ - mpicxx
  • kompilator FORTRAN77 - mpif77
  • kompilator FORTRAN90 - mpif90