Martin Thoma 11 lat temu
rodzic
commit
3cec128f33

+ 12 - 2
documents/Programmierparadigmen/MPI.tex

@@ -6,8 +6,18 @@ Message Passing Interface (kurz: MPI) ist ein Standard,
 der den Nachrichtenaustausch bei parallelen Berechnungen auf 
 verteilten Computersystemen beschreibt.
 
+\section{Erste Schritte}
+\inputminted[numbersep=5pt, tabsize=4, frame=lines, label=hello-world.c]{c}{scripts/mpi/hello-world.c}
+
+Das wird \texttt{mpicc hello-world.c} kompiliert.\\
+Mit \texttt{mpirun -np 14 scripts/mpi/a.out} werden 14 Kopien des Programms
+gestartet.
+
 \section{Syntax}
 \section{Beispiele}
+\section{Weitere Informationen}
+\begin{itemize}
+    \item \url{http://www.open-mpi.org/}
+\end{itemize}
 
-\index{MPI|)}
-
+\index{MPI|)}

BIN
documents/Programmierparadigmen/Programmierparadigmen.pdf


+ 13 - 0
documents/Programmierparadigmen/scripts/mpi/hello-world.c

@@ -0,0 +1,13 @@
+#include <stdio.h>
+#include <mpi.h>
+int main (int argc, char** args) {
+    int size;
+    int myrank;
+    MPI_Init(&argc, &args);
+    MPI_Comm_size(MPI_COMM_WORLD, &size);
+    MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
+    printf("Hello world, I have rank %d out of %d.\n",
+        myrank, size);
+    MPI_Finalize();
+    return 0;
+}