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

Z KdmWiki
Przejdź do nawigacji Przejdź do wyszukiwania
Linia 2: Linia 2:
  
 
Znakomita większość oprogramowania na klastrze zainstalowana jest tak, aby korzystała z któregoś z protokołów wymiany informacji między procesami ([[MPI |mpi]],[[OpenMP | OpenMP]],[[PVM | PVM]]).
 
Znakomita większość oprogramowania na klastrze zainstalowana jest tak, aby korzystała z któregoś z protokołów wymiany informacji między procesami ([[MPI |mpi]],[[OpenMP | OpenMP]],[[PVM | PVM]]).
Podczas kompilacji rónoległych aplikacji należy odnieść się, odpowiednio [[korzystanie z modułów | konfigurując srodowisko systemowe]] do bibliotek protokółów wspomnianych wyżej.
+
Podczas kompilacji rónoległych aplikacji należy odnieść się, odpowiednio [[korzystanie z modułów | konfigurując srodowisko systemowe]], do bibliotek protokółów wspomnianych wyżej.
 
Na przykład, gdy chcemy skorzystać z bibliotek mvapich2 (jedna z implementacji standardu [[MPI | mpi]]-2):
 
Na przykład, gdy chcemy skorzystać z bibliotek mvapich2 (jedna z implementacji standardu [[MPI | mpi]]-2):
 
  module load mvapich2/1.5.1p1
 
  module load mvapich2/1.5.1p1

Wersja z 14:38, 29 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 protokółów wspomnianych wyżej. Na przykład, gdy chcemy skorzystać z bibliotek mvapich2 (jedna z implementacji standardu mpi-2):

module load mvapich2/1.5.1p1
mvapich2/1.5.1p1
echo $PATH
/usr/local/mpi/intel/mvapich2-1.5.1p1-intel_composerxe-2011.1.107/bin/
which mpif90
/usr/local/mpi/intel/mvapich2-1.5.1p1-intel_composerxe-2011.1.107/bin/mpif90

Wraper mpif90 odpowiednio ustawia flagi kopmilatora ifort (standard - fortran90), tak aby aplikacja korzystała z komunikacji międzyprocesowej.