2013-11-30 15:51:13 +00:00
|
|
|
\subsection{Open MPI}
|
|
|
|
\label{sub:open_mpi}
|
|
|
|
|
2014-04-03 09:37:41 +00:00
|
|
|
OpenMPI wurde in der Version 1.7.3 mithilfe von Easybuild (\ref{sec:easybuild})
|
|
|
|
installiert. Die für Easybuild benötigten Paket-Beschreibungen sind in
|
|
|
|
\emph{aufgabe4.5} zu finden. Zum Testen haben wir das Programm \emph{hello.cpp}
|
|
|
|
(siehe \emph{aufgabe4.5/hello.cpp}) geschrieben, welches für jeden Node dessen
|
|
|
|
Rank und Hostname ausgibt. Dieses kann durch folgenden Befehl kompiliert werden:
|
2013-11-30 15:51:13 +00:00
|
|
|
|
2014-04-03 09:37:41 +00:00
|
|
|
\shellcmd{mpic++ hello.cpp}
|
2013-12-09 13:29:47 +00:00
|
|
|
|
2014-04-03 09:37:41 +00:00
|
|
|
Mit Hilfe einer \emph{hosts}-Datei, in der die Namen aller verwendeten Nodes
|
|
|
|
eingetragen wird, kann das Programm mit folgenden Befehl ausgeführt werden:
|
2013-12-09 13:29:47 +00:00
|
|
|
|
2014-04-03 09:37:41 +00:00
|
|
|
\shellcmd{mpirun \-\-hostfile hosts a.out}
|
2013-12-09 13:29:47 +00:00
|
|
|
|
|
|
|
Beispiel-Ausgabe:
|
|
|
|
|
|
|
|
\begin{lstlisting}
|
|
|
|
Hello World! I am 1 of 4 running on host zotac2
|
|
|
|
Hello World! I am 3 of 4 running on host zotac4
|
|
|
|
Hello World! I am 0 of 4 running on host zotac1
|
|
|
|
Hello World! I am 2 of 4 running on host zotac3
|
|
|
|
\end{lstlisting}
|