Kompilacja aplikacji równoległych: Różnice pomiędzy wersjami
Linia 3: | Linia 3: | ||
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, | + | Na przykład, linkowanie z bibliotekami mvapich2 (jedna z implementacji standardu [[MPI | mpi]]-2) budowanych intelowskimi kompilatorami można uczynić na dwa sposoby: |
+ | |||
+ | *przy pomocy wrapera na kompilator | ||
module load mvapich2/1.5.1p1 | module load mvapich2/1.5.1p1 | ||
mvapich2/1.5.1p1 | mvapich2/1.5.1p1 | ||
Linia 12: | Linia 14: | ||
Wraper '''mpif90''' odpowiednio ustawia flagi kopmilatora ifort (standard - fortran90), tak aby aplikacja korzystała z komunikacji międzyprocesowej. | Wraper '''mpif90''' odpowiednio ustawia flagi kopmilatora ifort (standard - fortran90), tak aby aplikacja korzystała z komunikacji międzyprocesowej. | ||
+ | *ręcznie ustawiając odpowiednie flagi | ||
Na klastrze [[SUPERNOVA | Supernova]] zainstalowano wiele bibliotek implementujących standardy[[MPI | mpi]], [[MPI2 | mpi-2]] oraz [[OpenMP | OpenMP ]] przy użyciu pakietów kompilatorów opensource`owych (gcc) oraz dostarczonych od intela. | Na klastrze [[SUPERNOVA | Supernova]] zainstalowano wiele bibliotek implementujących standardy[[MPI | mpi]], [[MPI2 | mpi-2]] oraz [[OpenMP | OpenMP ]] przy użyciu pakietów kompilatorów opensource`owych (gcc) oraz dostarczonych od intela. |
Wersja z 15:11, 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, linkowanie z bibliotekami mvapich2 (jedna z implementacji standardu mpi-2) budowanych intelowskimi kompilatorami można uczynić na dwa sposoby:
- przy pomocy wrapera na kompilator
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.
- ręcznie ustawiając odpowiednie flagi
Na klastrze Supernova zainstalowano wiele bibliotek implementujących standardy mpi, mpi-2 oraz OpenMP przy użyciu pakietów kompilatorów opensource`owych (gcc) oraz dostarczonych od intela.
Na przykład.
openmpi/1.4.3 openmpi/1.4.3-intel_10.1 openmpi/1.4.3_gcc412 openmpi/1.4.3_gcc453 mvapich2/1.5.1p1 mvapich2/1.6 mvapich2/1.6_gcc