]> AND Private Git Repository - book_gpu.git/blob - BookGPU/Chapters/chapter6/ch6.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
ch3
[book_gpu.git] / BookGPU / Chapters / chapter6 / ch6.tex
1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 % Personnal defs
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}}
11
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}}
16
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}}}{}
22
23 \def\N{$\mathbb N$ }
24 \def\R{$\mathbb R$ }
25 \def\Z{$\mathbb Z$ }
26 \def\Q{$\mathbb Q$ }
27 \def\C{$\mathbb C$ }
28 \def\affect{$\leftarrow$ }
29
30 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
31 % Main document
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.}
36
37 \chapter{Development methodologies for GPU and cluster of GPUs}
38
39 % Introduction
40 \input{Chapters/chapter6/Intro}
41
42 % Partie 1 : CUDA - MPI synchrone avec recouvrement
43 \input{Chapters/chapter6/PartieSync}
44
45 % Partie 2 : CUDA - MPI asynchrone avec recouvrement
46 \input{Chapters/chapter6/PartieAsync}
47
48 % Partie 6 : Analyse prospective
49 \input{Chapters/chapter6/PartieORWL}
50
51 % Conclusion
52 \input{Chapters/chapter6/Conclu}
53
54 % Glossaire
55 \section{Glossary}
56 \begin{Glossary}
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
65   piece of data.
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
71   programming model.
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
74   iterative process.
75 \item[Streamed GPU sequence] GPU transfers and computations performed
76   simultaneously via distinct GPU streams.
77 \end{Glossary}
78
79 % Biblio
80 \vspace{-2em}
81 \putbib[Chapters/chapter6/biblio6]
82
83 %%% Local Variables:
84 %%% mode: latex
85 %%% fill-column: 80
86 %%% ispell-dictionary: "american"
87 %%% mode: flyspell
88 %%% TeX-master: "../../BookGPU.tex"
89 %%% End: