Array-Verteilung: erster Entwurf
This commit is contained in:
parent
3cb9ccf6cb
commit
2f6b62b09f
19
2-6-array-verteilung.tex
Normal file
19
2-6-array-verteilung.tex
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
% !TeX spellcheck = de_DE
|
||||||
|
\subsection{Array-Verteilung in High-Performance Fortran}
|
||||||
|
\begin{itemize}
|
||||||
|
\item manuelles Platzieren (\enquote{Mapping}) gemeinsam benutzter Datenstrukturen auf verschiedenen Knoten
|
||||||
|
\item 1. Phase: \begriff{Array-Ausrichtung} (\enquote{Alignment}): \begin{itemize}
|
||||||
|
\item Elemente von $X$ mit $Y$ in Relation setzen: \texttt{!HPF\$ ALIGN X(I) WITH Y(I+1)}
|
||||||
|
\item abstrakte \begriff{Templates} für Verteilung von Arrays: \texttt{!HPF\$ template T[:,:]} (2-dimensional)
|
||||||
|
\item auch Replikation: \texttt{!HPF\$ ALIGN X[i] WITH T[i, *]}
|
||||||
|
\item kompliziertere Verteilungen: \texttt{!HPF\$ ALIGN A[i,j] WITH T[x*i+a, y*j+b]}
|
||||||
|
\end{itemize}
|
||||||
|
\item 2. Phase: \begriff{Array-Verteilung} (\enquote{Distribution}) der Indexmenge auf \begriff{abstrakte Prozessoren}: \begin{itemize}
|
||||||
|
\item zyklisch (\texttt{!HPF\$ DISTRIBUTE A(CYCLIC)}): Prozessor $j$ von $P$ bekommt Elemente $i$, für die\\
|
||||||
|
${(i \mod P) = j}$ gilt
|
||||||
|
\item blockweise (\texttt{!HPF\$ DISTRIBUTE A(BLOCK)}): jeder Prozessor bekommt zusammenhängenden Block von $\lceil\frac{N}{P}\rceil$ Elementen
|
||||||
|
\item zufällig
|
||||||
|
\item block-zyklisch (\texttt{!HPF\$ DISTRIBUTE A(CYCLIC(k))}): zusammenhängende Blöcke der Größe $k$ werden über Prozessoren zyklisch verteilt
|
||||||
|
\item Gitter $a\times b$ an Prozessoren anlegen (\texttt{!HPF\$ PROCESSORS gitter(a,b)}), Array darauf verteilen (\texttt{!HPF\$ DISTRIBUTE A(BLOCK,BLOCK) ONTO gitter})
|
||||||
|
\end{itemize}
|
||||||
|
\end{itemize}
|
@ -57,6 +57,7 @@
|
|||||||
\input{2-1-einfuehrung}
|
\input{2-1-einfuehrung}
|
||||||
\input{2-2-msg}
|
\input{2-2-msg}
|
||||||
\input{2-3-mpi}
|
\input{2-3-mpi}
|
||||||
|
\input{2-6-array-verteilung}
|
||||||
\input{2-6-pgas}
|
\input{2-6-pgas}
|
||||||
\input{2-7-dsm}
|
\input{2-7-dsm}
|
||||||
\section{Architektur (Lehrstuhl i3)}
|
\section{Architektur (Lehrstuhl i3)}
|
||||||
|
Loading…
Reference in New Issue
Block a user