MPICH

#MPICH
"wget http://www.mpich.org/static/downloads/3.2.1/mpich-3.2.1.tar.gz"
	"wget http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/1.0.8p1/mpich2-1.0.8p1.tar.gz"
"tar -xzf mpich2-1.0.8p1.tar.gz"
"cd mpich2-1.0.8p1"
mpich3: "./configure --bindir=/usr/bin --sbindir=/usr/sbin --libdir=/usr/lib64 --includedir=/usr/include --enable-cache --enable-mpe --enable-cxx " ggf. mit --disable-fortran"
mpich2: "./configure" oder bei Suse "./configure --bindir=/usr/bin --sbindir=/usr/sbin --libdir=/usr/lib --includedir=/usr/include --enable-cache --enable-mpe --enable-cxx"
"make"
"make install"

#Hydra
"wget http://www.mpich.org/static/downloads/3.2.1/hydra-3.2.1.tar.gz"
"tar -xzf hydra-3.2.1.tar.gz"
"cd hydra-3.2.1.tar.gz"
"./configure --bindir=/usr/bin --sbindir=/usr/sbin --libdir=/usr/lib64 --includedir=/usr/include"
"make"
"make install"

Auf allen Nodes muss mpich und hydra installiert sein

Ab MPICH3 nicht notwendig
"vi /etc/mpd.conf" ->
	secretword=<PASSWORT>
"chmod 0600 /etc/mpd.conf"

Nodes Host File
"vi /etc/mpd.hosts" ->
	node1
	#3 Prozesse auf node2
	node2:3
	node3
	#5 Prozesse auf node4
	node4:5
"vi /etc/hosts" ->
	172.16.190.20   node1.wenning.corp node1
	172.16.190.21   node2.wenning.corp node2
	172.16.190.22   node3.wenning.corp node3
	172.16.190.23   node4.wenning.corp node4

Die Konfigs auf alle Nodes verteilen.
"scp -r -v root@node1:/etc/mpd.* /etc/"
"scp -r -v root@node1:/etc/hosts /etc/"

Ab MPICH3 nicht mehr notwendig
MPICH2 auf allen Nodes starten.
"mpdboot -n 2 -f /etc/mpd.hosts" 
"mpdtrace -l"
"mpdringtest"

Jetzt ein Testprogramm starten. (Das Programm muss auf beiden Nodes vorhanden sein, deshalb ein Network/Cluster Share einrichten [NFS/Samba/OCFS2])
"time /usr/bin/mpirun -n 2 time /root/scripte/test_loop" oder
"time /usr/bin/mpirun -n 2 /root/public/mpich2-1.0.8/examples/cpi"
#Mit john the ripper im MPI modus
"time mpiexec -hostfile /root/temp/hosts ./john /root/temp/meinschatten"
	time mpiexec -np 3 -hostfile /root/temp/hosts ./john /root/temp/meinschatten = 3 Prozesse ausführen, verteilung auf die Nodes erfolgt automatisch. Besser per hostfile anpassen.
	

#Kommandos##############################################
Ab MPICH3 sind viele Kommandos obsolete
mpd & = startet den MPICH2 Daemon.
mpdallexit = beednet den MPICH2 Daemon.
mpdtrace -l = Zeigt Status Informationen an
mpdboot = starte mpd auf allen nodes
mpirun = führt ein MPI Programm aus
mpiexec = führt ein MPI Programm aus
"mpdboot -n 2 -f /etc/mpd.hosts" = startet MPICH2 auf allen Nodes.
"mpdcleanup -f /etc/mpd.hosts" = beendet alle mpd daemons auf den nodes
ompi_info = openMPI info
/usr/bin/mpiexec -n 2 hostname
mpich2version

#Nutzung###############################################
"/usr/bin/mpicxx -DHAVE_CXX_IOSTREAM -DHAVE_NAMESPACE_STD -c mpi.cpp; /usr/bin/mpicxx -DHAVE_CXX_IOSTREAM -DHAVE_NAMESPACE_STD -o mpi mpi.o -lpthread -lrt" = Kompiliert ein Programm MPI Konform.


#####################################################
#MPICH auf anderen node kopieren oden kompilieren oder installieren
scp -r /usr/bin/hydra_* 10.55.1.65:/usr/bin/
scp -r /usr/bin/mpi* 10.55.1.65:/usr/bin/
scp -r /usr/lib64/libmpi* 10.55.1.65:/usr/lib64/
#####################################################

#####################################################
Zeiten zur PI berechnung

1 Kerne/Prozess = 1m33
182 Kerne / Prozesse = 3sec
#####################################################


Post Revisions: