\@writefile{toc}{\author{B\IeC {\'e}n\IeC {\'e}dicte Herrmann}{}}
\@writefile{toc}{\author{Laurent Philippe}{}}
\@writefile{loa}{\addvspace {10\p@ }}
-\@writefile{toc}{\contentsline {chapter}{\numberline {16}Implementing MAS on GPU}{363}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {17}Implementing Multi-Agent Systems on GPU}{399}}
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
-\newlabel{chapter17}{{16}{364}}
-\@writefile{toc}{\contentsline {section}{\numberline {16.1}Introduction}{364}}
-\newlabel{ch17:intro}{{16.1}{364}}
-\@writefile{toc}{\contentsline {section}{\numberline {16.2}Running Agent-Based Simulations}{365}}
-\newlabel{ch17:ABM}{{16.2}{365}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {16.2.1}Multi-agent systems and parallelism}{365}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {16.2.2}MAS Implementation on GPU}{367}}
-\newlabel{ch17:subsec:gpu}{{16.2.2}{367}}
-\@writefile{toc}{\contentsline {section}{\numberline {16.3}A first practical example}{368}}
-\newlabel{ch17:sec:1stmodel}{{16.3}{368}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {16.3.1}The Collembola model}{368}}
-\newlabel{ch17:subsec:collembolamodel}{{16.3.1}{368}}
-\@writefile{lof}{\contentsline {figure}{\numberline {16.1}{\ignorespaces Evolution algorithm of Collembola model\relax }}{369}}
-\newlabel{ch17:fig:collem_algorithm}{{16.1}{369}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {16.3.2}Collembola Implementation}{369}}
-\newlabel{ch17:listing:collembola-diffuse}{{16.1}{370}}
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {16.1}Collembola OpenCL Diffusion kernel}{370}}
-\newlabel{ch17:listing:collembola-reduc}{{16.2}{370}}
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {16.2}Collembola OpenCL reduction kernel}{370}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {16.3.3}Collembola performance}{371}}
-\@writefile{lof}{\contentsline {figure}{\numberline {16.2}{\ignorespaces Performance of the Collembola model on CPU and GPU\relax }}{372}}
-\newlabel{ch17:fig:mior_perfs_collem}{{16.2}{372}}
-\@writefile{toc}{\contentsline {section}{\numberline {16.4}Second example}{372}}
-\newlabel{ch17:sec:2ndmodel}{{16.4}{372}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {16.4.1}The MIOR model}{372}}
-\newlabel{ch17:subsec:miormodel}{{16.4.1}{372}}
-\@writefile{loa}{\contentsline {algocf}{\numberline {16}{\ignorespaces Evolution step of each Meta-Mior (microbial colony) agent\relax }}{373}}
-\newlabel{ch17:seqalgo}{{16}{373}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {16.4.2}MIOR Implementation}{373}}
-\@writefile{lof}{\contentsline {figure}{\numberline {16.3}{\ignorespaces Execution distribution retained on GPU\relax }}{374}}
-\newlabel{ch17:fig:gpu_distribution}{{16.3}{374}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {16.4.2.1}Execution mapping on GPU}{374}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {16.4.2.2}Data structures translation}{375}}
-\newlabel{ch17:subsec:datastructures}{{16.4.2.2}{375}}
-\newlabel{ch17:listing:mior_data_structures}{{16.3}{375}}
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {16.3}Main data structures used in a MIOR simulation}{375}}
-\@writefile{lof}{\contentsline {figure}{\numberline {16.4}{\ignorespaces Compact representation of the topology of a MIOR simulation\relax }}{376}}
-\newlabel{ch17:fig:csr_representation}{{16.4}{376}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {16.4.2.3}Critical resources access management}{376}}
-\newlabel{ch17:subsec:concurrency}{{16.4.2.3}{376}}
-\newlabel{ch17:listing:mior_kernels}{{16.4}{377}}
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {16.4}Main MIOR kernel}{377}}
-\newlabel{ch17:fig:mior_launcher}{{16.5}{378}}
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {16.5}MIOR simulation launcher}{378}}
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {16.4.2.4}Termination detection}{378}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {16.4.3}Performance of MIOR implementations}{379}}
-\newlabel{ch17:subsec:miorexperiments}{{16.4.3}{379}}
-\@writefile{lof}{\contentsline {figure}{\numberline {16.5}{\ignorespaces CPU and GPU performance on a Tesla C1060 node\relax }}{380}}
-\newlabel{ch17:fig:mior_perfs_tesla}{{16.5}{380}}
-\@writefile{lof}{\contentsline {figure}{\numberline {16.6}{\ignorespaces CPU and GPU performance on a personal computer with a Geforce 8800GT\relax }}{381}}
-\newlabel{ch17:fig:mior_perfs_8800gt}{{16.6}{381}}
-\@writefile{toc}{\contentsline {section}{\numberline {16.5}Analysis and recommendations}{381}}
-\newlabel{ch17:analysis}{{16.5}{381}}
-\@writefile{lof}{\contentsline {figure}{\numberline {16.7}{\ignorespaces Execution time of one multi-simulation kernel on the Tesla platform\relax }}{382}}
-\newlabel{ch17:fig:monokernel_graph}{{16.7}{382}}
-\@writefile{lof}{\contentsline {figure}{\numberline {16.8}{\ignorespaces Total execution time for 1000 simulations on the Tesla platform, while varying the number of simulations for each kernel\relax }}{382}}
-\newlabel{ch17:fig:multikernel_graph}{{16.8}{382}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {16.5.1}Analysis}{382}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {16.5.2}MAS execution workflow}{383}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {16.5.3}Implementation challenges}{384}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {16.5.4}MCSMA}{384}}
-\newlabel{ch17:Mcsma}{{16.5.4}{384}}
-\@writefile{toc}{\contentsline {section}{\numberline {16.6}Conclusion}{385}}
-\newlabel{ch17:conclusion}{{16.6}{385}}
-\@writefile{toc}{\contentsline {section}{Bibliography}{386}}
+\newlabel{chapter17}{{17}{400}}
+\@writefile{toc}{\contentsline {section}{\numberline {17.1}Introduction}{400}}
+\newlabel{ch17:intro}{{17.1}{400}}
+\@writefile{toc}{\contentsline {section}{\numberline {17.2}Running Agent-Based Simulations}{401}}
+\newlabel{ch17:ABM}{{17.2}{401}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {17.2.1}Multi-agent systems and parallelism}{401}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {17.2.2}MAS Implementation on GPU}{403}}
+\newlabel{ch17:subsec:gpu}{{17.2.2}{403}}
+\@writefile{toc}{\contentsline {section}{\numberline {17.3}A first practical example}{404}}
+\newlabel{ch17:sec:1stmodel}{{17.3}{404}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {17.3.1}The Collembola model}{404}}
+\newlabel{ch17:subsec:collembolamodel}{{17.3.1}{404}}
+\@writefile{lof}{\contentsline {figure}{\numberline {17.1}{\ignorespaces Evolution algorithm of Collembola model\relax }}{405}}
+\newlabel{ch17:fig:collem_algorithm}{{17.1}{405}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {17.3.2}Collembola Implementation}{405}}
+\newlabel{ch17:listing:collembola-diffuse}{{17.1}{406}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {17.1}Collembola OpenCL Diffusion kernel}{406}}
+\newlabel{ch17:listing:collembola-reduc}{{17.2}{406}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {17.2}Collembola OpenCL reduction kernel}{406}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {17.3.3}Collembola performance}{407}}
+\@writefile{lof}{\contentsline {figure}{\numberline {17.2}{\ignorespaces Performance of the Collembola model on CPU and GPU\relax }}{408}}
+\newlabel{ch17:fig:mior_perfs_collem}{{17.2}{408}}
+\@writefile{toc}{\contentsline {section}{\numberline {17.4}Second example}{408}}
+\newlabel{ch17:sec:2ndmodel}{{17.4}{408}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {17.4.1}The MIOR model}{408}}
+\newlabel{ch17:subsec:miormodel}{{17.4.1}{408}}
+\@writefile{loa}{\contentsline {algocf}{\numberline {21}{\ignorespaces Evolution step of each Meta-Mior (microbial colony) agent\relax }}{409}}
+\newlabel{ch17:seqalgo}{{21}{409}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {17.4.2}MIOR Implementation}{409}}
+\@writefile{lof}{\contentsline {figure}{\numberline {17.3}{\ignorespaces Execution distribution retained on GPU\relax }}{410}}
+\newlabel{ch17:fig:gpu_distribution}{{17.3}{410}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {17.4.2.1}Execution mapping on GPU}{410}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {17.4.2.2}Data structures translation}{411}}
+\newlabel{ch17:subsec:datastructures}{{17.4.2.2}{411}}
+\newlabel{ch17:listing:mior_data_structures}{{17.3}{411}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {17.3}Main data structures used in a MIOR simulation}{411}}
+\@writefile{lof}{\contentsline {figure}{\numberline {17.4}{\ignorespaces Compact representation of the topology of a MIOR simulation\relax }}{412}}
+\newlabel{ch17:fig:csr_representation}{{17.4}{412}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {17.4.2.3}Critical resources access management}{412}}
+\newlabel{ch17:subsec:concurrency}{{17.4.2.3}{412}}
+\newlabel{ch17:listing:mior_kernels}{{17.4}{413}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {17.4}Main MIOR kernel}{413}}
+\newlabel{ch17:fig:mior_launcher}{{17.5}{414}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {17.5}MIOR simulation launcher}{414}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {17.4.2.4}Termination detection}{414}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {17.4.3}Performance of MIOR implementations}{415}}
+\newlabel{ch17:subsec:miorexperiments}{{17.4.3}{415}}
+\@writefile{lof}{\contentsline {figure}{\numberline {17.5}{\ignorespaces CPU and GPU performance on a Tesla C1060 node\relax }}{416}}
+\newlabel{ch17:fig:mior_perfs_tesla}{{17.5}{416}}
+\@writefile{lof}{\contentsline {figure}{\numberline {17.6}{\ignorespaces CPU and GPU performance on a personal computer with a Geforce 8800GT\relax }}{417}}
+\newlabel{ch17:fig:mior_perfs_8800gt}{{17.6}{417}}
+\@writefile{toc}{\contentsline {section}{\numberline {17.5}Analysis and recommendations}{417}}
+\newlabel{ch17:analysis}{{17.5}{417}}
+\@writefile{lof}{\contentsline {figure}{\numberline {17.7}{\ignorespaces Execution time of one multi-simulation kernel on the Tesla platform\relax }}{418}}
+\newlabel{ch17:fig:monokernel_graph}{{17.7}{418}}
+\@writefile{lof}{\contentsline {figure}{\numberline {17.8}{\ignorespaces Total execution time for 1000 simulations on the Tesla platform, while varying the number of simulations for each kernel\relax }}{418}}
+\newlabel{ch17:fig:multikernel_graph}{{17.8}{418}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {17.5.1}Analysis}{418}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {17.5.2}MAS execution workflow}{419}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {17.5.3}Implementation challenges}{420}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {17.5.4}MCSMA}{420}}
+\newlabel{ch17:Mcsma}{{17.5.4}{420}}
+\@writefile{toc}{\contentsline {section}{\numberline {17.6}Conclusion}{421}}
+\newlabel{ch17:conclusion}{{17.6}{421}}
+\@writefile{toc}{\contentsline {section}{Bibliography}{422}}
\@setckpt{Chapters/chapter17/ch17}{
-\setcounter{page}{390}
+\setcounter{page}{426}
\setcounter{equation}{0}
\setcounter{enumi}{3}
\setcounter{enumii}{0}
\setcounter{footnote}{1}
\setcounter{mpfootnote}{0}
\setcounter{part}{6}
-\setcounter{chapter}{16}
+\setcounter{chapter}{17}
\setcounter{section}{6}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{lstnumber}{21}
\setcounter{ContinuedFloat}{0}
\setcounter{AlgoLine}{17}
-\setcounter{algocfline}{16}
-\setcounter{algocfproc}{16}
-\setcounter{algocf}{16}
+\setcounter{algocfline}{21}
+\setcounter{algocfproc}{21}
+\setcounter{algocf}{21}
\setcounter{nprt@mantissa@digitsbefore}{0}
\setcounter{nprt@mantissa@digitsafter}{0}
\setcounter{nprt@exponent@digitsbefore}{0}