mirror of
https://github.com/MartinThoma/LaTeX-examples.git
synced 2025-04-26 06:48:04 +02:00
MPI Gather hinzugefügt
This commit is contained in:
parent
e384b0ba07
commit
cd7df763db
4 changed files with 47 additions and 8 deletions
|
@ -73,7 +73,7 @@ Senden einer Nachricht an einen anderen Prozeß innerhalb eines Kommunikators. (
|
|||
\begin{itemize}
|
||||
\item \textbf{buf}: Anfangsadresse des Sendepuffers
|
||||
\item \textbf{count}: Anzahl der Elemente des Sendepuffers (nichtnegativ)
|
||||
\item \textbf{datatype}: Typ der Elemente des Sendepuffers (handle)
|
||||
\item \textbf{datatype}: Typ der Elemente des Sendepuffers (handle) (vgl. \cpageref{sec:MPI-Datatypes})
|
||||
\item \textbf{dest}: Rang des Empfängerprozesses in comm (integer)
|
||||
\item \textbf{tag}: message tag zur Unterscheidung verschiedener Nachrichten;
|
||||
Ein Kommunikationsvorgang wird durch ein Tripel (Sender, Empfänger, tag) eindeutig beschrieben.
|
||||
|
@ -92,7 +92,7 @@ Empfangen einer Nachricht (blockierend)
|
|||
\begin{itemize}
|
||||
\item \textbf{buf}: Anfangsadresse des Empfangspuffers
|
||||
\item \textbf{count}: Anzahl (d.~h. $\geq 0$) der Elemente im Empfangspuffer
|
||||
\item \textbf{datatype}: Typ der zu empfangenden Elemente (handle)
|
||||
\item \textbf{datatype}: Typ der zu empfangenden Elemente (handle) (vgl. \cpageref{sec:MPI-Datatypes})
|
||||
\item \textbf{source}: Rang des Senderprozesses in comm oder \texttt{MPI\_ANY\_SOURCE}
|
||||
\item \textbf{tag}: message tag zur Unterscheidung verschiedener Nachrichten
|
||||
Ein Kommunikationsvorgang wird durch ein Tripel (Sender, Empfänger, tag) eindeutig beschrieben. Um Nachrichten mit beliebigen tags zu empfangen, benutzt man die Konstante \texttt{MPI\_ANY\_TAG}.
|
||||
|
@ -113,7 +113,7 @@ Führt eine globale Operation \textbf{op} aus; der Prozeß \enquote{root} erhäl
|
|||
\begin{itemize}
|
||||
\item \textbf{sendbuf}: Startadresse des Sendepuffers
|
||||
\item \textbf{count}: Anzahl der Elemente im Sendepuffer
|
||||
\item \textbf{datatype}: Datentyp der Elemente von \texttt{sendbuf} (vgl. \cpageref{sec:MPI-Datatypes})
|
||||
\item \textbf{datatype}: Typ der Elemente von \texttt{sendbuf} (vgl. \cpageref{sec:MPI-Datatypes})
|
||||
\item \textbf{op}: auszuführende Operation (handle)
|
||||
\item \textbf{root}: Rang des Root-Prozesses in comm, der das Ergebnis haben soll
|
||||
\item \textbf{comm}: Kommunikator (handle)
|
||||
|
@ -128,9 +128,9 @@ Teilt Daten von jedem Prozeß einer Gruppe an alle anderen auf.
|
|||
\begin{itemize}
|
||||
\item \textbf{sendbuf}: Startadresse des Sendepuffers
|
||||
\item \textbf{sendcount}: Anzahl der Elemente im Sendepuffer
|
||||
\item \textbf{sendtype}: Datentyp der Elemente des Sendepuffers (handle)
|
||||
\item \textbf{sendtype}: Typ der Elemente des Sendepuffers (handle) (vgl. \cpageref{sec:MPI-Datatypes})
|
||||
\item \textbf{recvcount}: Anzahl der Elemente, die von jedem einzelnen Prozeß empfangen werden
|
||||
\item \textbf{recvtype}: Datentyp der Elemente im Empfangspuffer (handle)
|
||||
\item \textbf{recvtype}: Typ der Elemente im Empfangspuffer (handle) (vgl. \cpageref{sec:MPI-Datatypes})
|
||||
\item \textbf{comm}: Kommunikator (handle)
|
||||
\end{itemize}
|
||||
|
||||
|
@ -147,7 +147,7 @@ angegebenen Kommunikators.
|
|||
\begin{itemize}
|
||||
\item \textbf{buffer}: Startadresse des Datenpuffers
|
||||
\item \textbf{count}: Anzahl der Elemente im Puffer
|
||||
\item \textbf{datatype}: Datentyp der Pufferelemente (handle)
|
||||
\item \textbf{datatype}: Typ der Pufferelemente (handle) (vgl. \cpageref{sec:MPI-Datatypes})
|
||||
\item \textbf{root}: Wurzelprozeß; der, welcher sendet
|
||||
\item \textbf{comm}: Kommunikator (handle)
|
||||
\end{itemize}
|
||||
|
@ -161,13 +161,30 @@ Verteilt Daten vom Prozess \texttt{root} unter alle anderen Prozesse in der Grup
|
|||
\begin{itemize}
|
||||
\item \textbf{sendbuf}: Anfangsadresse des Sendepuffers (Wert ist lediglich für 'root' signifikant)
|
||||
\item \textbf{sendcount}: Anzahl der Elemente, die jeder Prozeß geschickt bekommen soll (integer)
|
||||
\item \textbf{sendtype}: Datentyp der Elemente in sendbuf (handle)
|
||||
\item \textbf{sendtype}: Typ der Elemente in sendbuf (handle) (vgl. \cpageref{sec:MPI-Datatypes})
|
||||
\item \textbf{recvcount}: Anzahl der Elemente im Empfangspuffer. Meist ist es günstig, recvcount = sendcount zu wählen.
|
||||
\item \textbf{recvtype}: Datentyp der Elemente des Empfangspuffers (handle)
|
||||
\item \textbf{recvtype}: Typ der Elemente des Empfangspuffers (handle) (vgl. \cpageref{sec:MPI-Datatypes})
|
||||
\item \textbf{root}: Rang des Prozesses in comm, der die Daten versendet
|
||||
\item \textbf{comm}: Kommunikator (handle)
|
||||
\end{itemize}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\goodbreak
|
||||
\rule{\textwidth}{0.4pt}\xindex{MPI\_Gather@\texttt{MPI\_Gather}}%
|
||||
\inputminted[numbersep=5pt, tabsize=4]{c}{scripts/mpi/mpi-gather.c}
|
||||
Sammelt Daten, die in einer Prozeßgruppe verteilt sind, ein.
|
||||
|
||||
\textbf{Parameter}
|
||||
\begin{itemize}
|
||||
\item \textbf{sendbuf}: Startadresse des Sendepuffers
|
||||
\item \textbf{sendcount}: Anzahl der Elemente im Sendepuffer
|
||||
\item \textbf{sendtype}: Datentyp der Elemente des Sendepuffers (handle)
|
||||
\item \textbf{recvcount}: Anzahl der Elemente, die jeder einzelne Prozeß sendet (nur für 'root' signifikant)
|
||||
\item \textbf{recvtype}: Typ der Elemente im Empfangspuffer (handle) (nur für 'root' signifikant) (vgl. \cpageref{sec:MPI-Datatypes})
|
||||
\item \textbf{root}: Rang des empfangenden Prozesses in \texttt{comm}
|
||||
\item \textbf{comm}: Kommunikator (handle)
|
||||
\end{itemize}
|
||||
|
||||
\textbf{Beispiel}
|
||||
\inputminted[numbersep=5pt, tabsize=4]{c}{scripts/mpi/mpi-reduce-example.c}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue