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

Z KdmWiki
Przejdź do nawigacji Przejdź do wyszukiwania
Linia 5: Linia 5:
  
 
Na przykład, linkowanie z bibliotekami mvapich2 (jedna z implementacji standardu [[MPI | mpi]]-2) budowanych intelowskimi kompilatorami można uczynić na dwa sposoby:
 
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
+
*'''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 14: 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
+
*'''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:13, 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