Heterogene Architekturen: erster Entwurf
This commit is contained in:
parent
5f50d7eda8
commit
59dc1dc8b9
@ -1 +1,29 @@
|
||||
\subsection{Heterogene Architekturen}
|
||||
% !TeX spellcheck = de_DE
|
||||
\subsection{Heterogene Architekturen}
|
||||
\begin{itemize}
|
||||
\item Heterogenität in Hard- und Software nimmt zu (Energieverbrauch, Spezialhardware, Beschleunigerkarten, \textellipsis)
|
||||
\item MPI + \begriff{OpenMP} für Ausnutzung von Multi-Core-Rechnern: \begin{itemize}
|
||||
\item Compiler-Direktiven und Hilfsbibliothek erlauben Multi-Threading über Shared Memory
|
||||
\item grundlegendes Modell: \begriff{fork/join-Parallelismus}
|
||||
\item im Vergleich zu reinem MPI muss pro Knoten (nicht Ausführungsthread!) eine MPI-Instanz laufen
|
||||
\end{itemize}
|
||||
\item MPI + \begriff{CUDA} für Unterstützung von (nVidia-) Grafikkarten: \begin{itemize}
|
||||
\item Grafikkarten können mittlerweile für allgemeine, massiv-parallele Berechnungen (\begriff{GPGPU}) verwendet werden
|
||||
\item Ausführungsmodell Single-Instruction-Multiple-Thread (\begriff{SIMT}): \begin{itemize}
|
||||
\item Gruppierung zu Multiprozessoren/Threads
|
||||
\item Threads weiter in Blöcke, diese in Gitter gruppiert
|
||||
\item gleiche Instruktion für alle Blöcke, Datenzugriff durch Thread-ID
|
||||
\end{itemize}
|
||||
\item nicht-einheitliche Sprünge problematisch und keine Branch-Prediction
|
||||
\item im Vergleich zur CPU sehr viele Register und sehr schnell angebundener Grafikspeicher
|
||||
\item Programmierung: \begin{itemize}
|
||||
\item explizite Kennzeichnung des Codes für CPU bzw. GPU
|
||||
\item spezieller Compiler notwendig
|
||||
\item verschiedene Qualifier für Funktionen und Speicherbereiche
|
||||
\item \begriff{CUDA-aware MPI} kann auch Speicher auf GPUs direkt verwenden
|
||||
\item Optimierungen wie \begriff{GPU-Direct} können GPUs direkt ohne Host über das Netzwerk kommunizieren lassen bzw. RDMA vornehmen
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\item Mircoservers mit ARM-Prozessoren und \begriff{FPGA}s
|
||||
\item neuartige Architekturen (z.B. Parallela)
|
||||
\end{itemize}
|
Loading…
Reference in New Issue
Block a user