1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4 \newcommand{\Sec}[1]{Section~\ref{#1}}
5 \newcommand{\Fig}[1]{Figure~\ref{#1}}
6 \newcommand{\Alg}[1]{Algorithm~\ref{#1}}
7 \newcommand{\Lst}[1]{Listing~\ref{#1}}
8 \newcommand{\Tab}[1]{Table~\ref{#1}}
9 \newcommand{\Equ}[1]{(\ref{#1})}
10 \def\Reals{\mathbb{R}}
12 \definecolor{shadecolor}{rgb}{0.95,0.95,0.95}
13 \newenvironment{Algo}{\vspace{-1em}\begin{center}\begin{minipage}[h]{0.95\columnwidth}\begin{shaded}\begin{tabbing}%
14 \hspace{3mm}\=\hspace{3mm}\=\hspace{3mm}\=\hspace{3mm}\=\hspace{3mm}\=\hspace{3mm}\=\hspace{3mm}\= \kill} %
15 { \end{tabbing}\vspace{-1em}\end{shaded}\end{minipage}\end{center}\vspace{-1em}}
17 \lstnewenvironment{Listing}[2]{\lstset{basicstyle=\scriptsize\ttfamily,%
18 breaklines=true, breakatwhitespace=true, language=C, keywordstyle=\color{black},%
19 prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},%
20 commentstyle=\textit, numbersep=1em, numberstyle=\tiny, numbers=left,%
21 numberblanklines=false, mathescape, escapechar=@, label=#1, caption={#2}}}{}
28 \def\affect{$\leftarrow$ }
30 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
33 \chapterauthor{Sylvain Contassot-Vivier}{Université Lorraine, Loria UMR 7503 \& AlGorille INRIA Project Team, Nancy, France.}
34 \chapterauthor{Stephane Vialle}{SUPELEC, UMI GT-CNRS 2958 \& AlGorille INRIA Project Team, Metz, France.}
35 \chapterauthor{Jens Gustedt}{INRIA Nancy -- Grand Est, AlGorille INRIA Project Team, Strasbourg, France.}
37 \chapter{Development methodologies for GPU and cluster of GPUs}
40 \input{Chapters/chapter6/Intro}
42 % Partie 1 : CUDA - MPI synchrone avec recouvrement
43 \input{Chapters/chapter6/PartieSync}
45 % Partie 2 : CUDA - MPI asynchrone avec recouvrement
46 \input{Chapters/chapter6/PartieAsync}
48 % Partie 6 : Analyse prospective
49 \input{Chapters/chapter6/PartieORWL}
52 \input{Chapters/chapter6/Conclu}
57 \item[AIAC] Asynchronous Iterations - Asynchronous Communications.
58 \item[Asynchronous iterations] Iterative process where each element is updated
59 without waiting for the last updates of the other elements.
60 \item[Auxiliary computations] Optional computations performed in parallel to the
61 main computations and used to complete them or speed them up.
62 \item[BSP parallel scheme] Bulk Synchronous Parallel, a parallel model that uses
63 a repeated pattern (superstep) composed of: computation, communication, barrier.
64 \item[GPU stream] Serialized data transfers and computations performed on a same
66 \item[Message loss/miss] Can be said about a message that is either not
67 sent or sent but not received (possible with unreliable communication protocols).
68 \item[Message stamping] Inclusion of a specific value in messages of the same tag to
69 distinguish them (kind of secondary tag).
70 \item[ORWL] Ordered Read Write Locks, a programming tool proposing a unified
72 \item[Page-locked data] Data that are locked in cache memory to ensure fast accesses.
73 \item[Residual] Difference between results of consecutive iterations in an
75 \item[Streamed GPU sequence] GPU transfers and computations performed
76 simultaneously via distinct GPU streams.
81 \putbib[Chapters/chapter6/biblio6]
86 %%% ispell-dictionary: "american"
88 %%% TeX-master: "../../BookGPU.tex"