%\lstinputlisting[language=C,caption=Collembola OpenCL
%kernels,label=fig:collem_kernels]{Chapters/chapter17/code/collem_kernels.cl}
+\pagebreak
\lstinputlisting[caption=Collembola OpenCL Diffusion kernel,label=ch17:listing:collembola-diffuse]{Chapters/chapter17/code/collem_kernel_diffuse.cl}
The reproduction, diffusion and culling steps are implemented on GPU
necessary, in the case of MIOR as well as for other ABM, to ensure
that each work-item is not too constrained in its execution.
+\pagebreak
\lstinputlisting[caption=Main MIOR kernel,label=ch17:listing:mior_kernels]{Chapters/chapter17/code/mior_kernels.cl}
From the sequential algorithm 1 where all the agents share the same