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

Private GIT Repository
correct ch 12
[book_gpu.git] / BookGPU / Chapters / chapter6 / ch6.aux
1 \relax 
2 \@writefile{toc}{\author{Sylvain Contassot-Vivier}{}}
3 \@writefile{toc}{\author{Stephane Vialle}{}}
4 \@writefile{toc}{\author{Jens Gustedt}{}}
5 \@writefile{loa}{\addvspace {10\p@ }}
6 \@writefile{toc}{\contentsline {chapter}{\numberline {6}Development methodologies for GPU and cluster of GPUs}{83}}
7 \@writefile{lof}{\addvspace {10\p@ }}
8 \@writefile{lot}{\addvspace {10\p@ }}
9 \@writefile{toc}{\contentsline {section}{\numberline {6.1}Introduction}{84}}
10 \newlabel{ch6:intro}{{6.1}{84}}
11 \@writefile{toc}{\contentsline {section}{\numberline {6.2}General scheme of synchronous code with computation/communication overlapping in GPU clusters}{84}}
12 \newlabel{ch6:part1}{{6.2}{84}}
13 \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}Synchronous parallel algorithms on GPU clusters}{84}}
14 \@writefile{lof}{\contentsline {figure}{\numberline {6.1}{\ignorespaces Native overlap of internode CPU communications with GPU computations.\relax }}{86}}
15 \newlabel{fig:ch6p1overlapnative}{{6.1}{86}}
16 \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.2}Native overlap of CPU communications and GPU computations}{86}}
17 \newlabel{algo:ch6p1overlapnative}{{6.1}{87}}
18 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.1}Generic scheme implicitly overlapping MPI communications with CUDA GPU computations}{87}}
19 \@writefile{lof}{\contentsline {figure}{\numberline {6.2}{\ignorespaces Overlap of internode CPU communications with a sequence of CPU/GPU data transfers and GPU computations.\relax }}{88}}
20 \newlabel{fig:ch6p1overlapseqsequence}{{6.2}{88}}
21 \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.3}Overlapping with sequences of transfers and computations}{88}}
22 \newlabel{algo:ch6p1overlapseqsequence}{{6.2}{89}}
23 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.2}Generic scheme explicitly overlapping MPI communications with sequences of CUDA CPU/GPU transfers and CUDA GPU computations}{89}}
24 \@writefile{lof}{\contentsline {figure}{\numberline {6.3}{\ignorespaces Overlap of internode CPU communications with a streamed sequence of CPU/GPU data transfers and GPU computations.\relax }}{91}}
25 \newlabel{fig:ch6p1overlapstreamsequence}{{6.3}{91}}
26 \newlabel{algo:ch6p1overlapstreamsequence}{{6.3}{91}}
27 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.3}Generic scheme explicitly overlapping MPI communications with streamed sequences of CUDA CPU/GPU transfers and CUDA GPU computations}{91}}
28 \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.4}Interleaved communications-transfers-computations overlapping}{93}}
29 \@writefile{lof}{\contentsline {figure}{\numberline {6.4}{\ignorespaces Complete overlap of internode CPU communications, CPU/GPU data transfers and GPU computations, interleaving computation-communication iterations\relax }}{94}}
30 \newlabel{fig:ch6p1overlapinterleaved}{{6.4}{94}}
31 \newlabel{algo:ch6p1overlapinterleaved}{{6.4}{94}}
32 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.4}Generic scheme explicitly overlapping MPI communications, CUDA CPU/GPU transfers and CUDA GPU computations, interleaving computation-communication iterations}{94}}
33 \@writefile{toc}{\contentsline {subsection}{\numberline {6.2.5}Experimental validation}{96}}
34 \newlabel{ch6:p1expes}{{6.2.5}{96}}
35 \newlabel{ch6:p1block-cyclic}{{6.2.5}{96}}
36 \@writefile{lof}{\contentsline {figure}{\numberline {6.5}{\ignorespaces Experimental performances of different synchronous algorithms computing a dense matrix product\relax }}{97}}
37 \newlabel{fig:ch6p1syncexpematrixprod}{{6.5}{97}}
38 \@writefile{toc}{\contentsline {section}{\numberline {6.3}General scheme of asynchronous parallel code with computation/communication overlapping}{98}}
39 \newlabel{ch6:part2}{{6.3}{98}}
40 \@writefile{loa}{\contentsline {algocf}{\numberline {3}{\ignorespaces Synchronous iterative scheme\relax }}{98}}
41 \newlabel{algo:ch6p2sync}{{3}{98}}
42 \@writefile{loa}{\contentsline {algocf}{\numberline {4}{\ignorespaces Asynchronous iterative scheme\relax }}{99}}
43 \newlabel{algo:ch6p2async}{{4}{99}}
44 \@writefile{toc}{\contentsline {subsection}{\numberline {6.3.1}A basic asynchronous scheme}{100}}
45 \newlabel{ch6:p2BasicAsync}{{6.3.1}{100}}
46 \newlabel{algo:ch6p2BasicAsync}{{6.5}{100}}
47 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.5}Initialization of the basic asynchronous scheme}{100}}
48 \newlabel{algo:ch6p2BasicAsyncComp}{{6.6}{101}}
49 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.6}Computing function in the basic asynchronous scheme}{101}}
50 \newlabel{algo:ch6p2BasicAsyncSendings}{{6.7}{103}}
51 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.7}Sending function in the basic asynchronous scheme}{103}}
52 \newlabel{algo:ch6p2BasicAsyncReceptions}{{6.8}{103}}
53 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.8}Reception function in the basic asynchronous scheme}{103}}
54 \@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}Synchronization of the asynchronous scheme}{105}}
55 \newlabel{ch6:p2SsyncOverAsync}{{6.3.2}{105}}
56 \newlabel{algo:ch6p2Sync}{{6.9}{105}}
57 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.9}Initialization of the synchronized scheme}{105}}
58 \newlabel{algo:ch6p2SyncComp}{{6.10}{106}}
59 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.10}Computing function in the synchronized scheme}{106}}
60 \newlabel{algo:ch6p2SyncReceptions}{{6.11}{108}}
61 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.11}Reception function in the synchronized scheme}{108}}
62 \@writefile{toc}{\contentsline {subsection}{\numberline {6.3.3}Asynchronous scheme using MPI, OpenMP and CUDA}{109}}
63 \newlabel{ch6:p2GPUAsync}{{6.3.3}{109}}
64 \newlabel{algo:ch6p2AsyncSyncComp}{{6.12}{110}}
65 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.12}Computing function in the final asynchronous scheme}{110}}
66 \newlabel{algo:ch6p2syncGPU}{{6.13}{111}}
67 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.13}Computing function in the final asynchronous scheme}{111}}
68 \newlabel{algo:ch6p2FullOverAsyncMain}{{6.14}{114}}
69 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.14}Initialization of the main process of complete overlap with asynchronism}{114}}
70 \newlabel{algo:ch6p2FullOverAsyncComp1}{{6.15}{115}}
71 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.15}Computing function in the final asynchronous scheme with CPU/GPU overlap}{115}}
72 \newlabel{algo:ch6p2FullOverAsyncComp2}{{6.16}{116}}
73 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.16}Auxiliary computing function in the final asynchronous scheme with CPU/GPU overlap}{116}}
74 \@writefile{toc}{\contentsline {subsection}{\numberline {6.3.4}Experimental validation}{117}}
75 \newlabel{sec:ch6p2expes}{{6.3.4}{117}}
76 \@writefile{lof}{\contentsline {figure}{\numberline {6.6}{\ignorespaces Computation times of the test application in synchronous and asynchronous modes.\relax }}{118}}
77 \newlabel{fig:ch6p2syncasync}{{6.6}{118}}
78 \@writefile{lof}{\contentsline {figure}{\numberline {6.7}{\ignorespaces Computation times with or without overlap of Jacobian updatings in asynchronous mode.\relax }}{119}}
79 \newlabel{fig:ch6p2aux}{{6.7}{119}}
80 \@writefile{toc}{\contentsline {section}{\numberline {6.4}Perspective: A unifying programming model}{120}}
81 \newlabel{sec:ch6p3unify}{{6.4}{120}}
82 \@writefile{toc}{\contentsline {subsection}{\numberline {6.4.1}Resources}{120}}
83 \newlabel{sec:ch6p3resources}{{6.4.1}{120}}
84 \newlabel{algo:ch6p3ORWLresources}{{6.17}{121}}
85 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.17}Declaration of ORWL resources for a block-cyclic matrix multiplication}{121}}
86 \@writefile{toc}{\contentsline {subsection}{\numberline {6.4.2}Control}{121}}
87 \newlabel{sec:ch6p3ORWLcontrol}{{6.4.2}{121}}
88 \@writefile{toc}{\contentsline {subsection}{\numberline {6.4.3}Example: block-cyclic matrix multiplication (MM)}{122}}
89 \newlabel{sec:ch6p3ORWLMM}{{6.4.3}{122}}
90 \newlabel{algo:ch6p3ORWLBCCMM}{{6.18}{122}}
91 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.18}Block-cyclic matrix multiplication, high level per task view}{122}}
92 \newlabel{algo:ch6p3ORWLlcopy}{{6.19}{123}}
93 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.19}An iterative local copy operation}{123}}
94 \newlabel{algo:ch6p3ORWLrcopy}{{6.20}{123}}
95 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.20}An iterative remote copy operation as part of a block cyclic matrix multiplication task}{123}}
96 \newlabel{algo:ch6p3ORWLtrans}{{6.21}{123}}
97 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.21}An iterative GPU transfer and compute operation as part of a block cyclic matrix multiplication task}{123}}
98 \newlabel{algo:ch6p3ORWLdecl}{{6.22}{124}}
99 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.22}Dynamic declaration of handles to represent the resources}{124}}
100 \newlabel{algo:ch6p3ORWLinit}{{6.23}{124}}
101 \@writefile{lol}{\contentsline {lstlisting}{\numberline {6.23}Dynamic initialization of access mode and priorities}{124}}
102 \@writefile{toc}{\contentsline {subsection}{\numberline {6.4.4}Tasks and operations}{125}}
103 \newlabel{sec:ch6p3tasks}{{6.4.4}{125}}
104 \@writefile{toc}{\contentsline {section}{\numberline {6.5}Conclusion}{126}}
105 \newlabel{ch6:conclu}{{6.5}{126}}
106 \@writefile{toc}{\contentsline {section}{\numberline {6.6}Glossary}{126}}
107 \@writefile{toc}{\contentsline {section}{Bibliography}{127}}
108 \@setckpt{Chapters/chapter6/ch6}{
109 \setcounter{page}{129}
110 \setcounter{equation}{0}
111 \setcounter{enumi}{4}
112 \setcounter{enumii}{0}
113 \setcounter{enumiii}{0}
114 \setcounter{enumiv}{21}
115 \setcounter{footnote}{0}
116 \setcounter{mpfootnote}{0}
117 \setcounter{part}{1}
118 \setcounter{chapter}{6}
119 \setcounter{section}{6}
120 \setcounter{subsection}{0}
121 \setcounter{subsubsection}{0}
122 \setcounter{paragraph}{0}
123 \setcounter{subparagraph}{0}
124 \setcounter{figure}{7}
125 \setcounter{table}{0}
126 \setcounter{numauthors}{0}
127 \setcounter{parentequation}{8}
128 \setcounter{subfigure}{0}
129 \setcounter{lofdepth}{1}
130 \setcounter{subtable}{0}
131 \setcounter{lotdepth}{1}
132 \setcounter{lstnumber}{17}
133 \setcounter{ContinuedFloat}{0}
134 \setcounter{AlgoLine}{6}
135 \setcounter{algocfline}{4}
136 \setcounter{algocfproc}{4}
137 \setcounter{algocf}{4}
138 \setcounter{proposition}{0}
139 \setcounter{theorem}{0}
140 \setcounter{exercise}{0}
141 \setcounter{example}{0}
142 \setcounter{definition}{0}
143 \setcounter{proof}{0}
144 \setcounter{lstlisting}{23}
145 }