]> AND Private Git Repository - book_gpu.git/commitdiff
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
correct ch17
authorcouturie <couturie@carcariass.(none)>
Sun, 5 May 2013 12:33:50 +0000 (14:33 +0200)
committercouturie <couturie@carcariass.(none)>
Sun, 5 May 2013 12:33:50 +0000 (14:33 +0200)
BookGPU/Chapters/chapter17/ch17.tex
BookGPU/Chapters/chapter17/code/collem_kernel_diffuse.cl
BookGPU/Chapters/chapter17/code/mior_launcher.java

index 28e8251421d8a72c9cc4f13a965cafa148224348..4aa06b81f49a2d234e5a845ca4186ca0f18d418d 100755 (executable)
@@ -1,7 +1,7 @@
 \chapterauthor{Guillaume Laville}{Femto-ST Institute, University of Franche-Comte, France}
 \chapterauthor{Christophe Lang}{Femto-ST Institute, University of Franche-Comte, France}
 \chapterauthor{Guillaume Laville}{Femto-ST Institute, University of Franche-Comte, France}
 \chapterauthor{Christophe Lang}{Femto-ST Institute, University of Franche-Comte, France}
-\chapterauthor{Kamel Mazouzi}{Femto-ST Institute, University of Franche-Comte, France}
-\chapterauthor{Nicolas Marilleau}{Femto-ST Institute, University of Franche-Comte, France}
+\chapterauthor{Kamel Mazouzi}{Franche-Comte Computing Center, University of Franche-Comte, France}
+\chapterauthor{Nicolas Marilleau}{UMMISCO, Institut de Recherche pour le Développement (IRD), France}
 \chapterauthor{Bénédicte Herrmann}{Femto-ST Institute, University of Franche-Comte, France}
 \chapterauthor{Laurent Philippe}{Femto-ST Institute, University of Franche-Comte, France}
 
 \chapterauthor{Bénédicte Herrmann}{Femto-ST Institute, University of Franche-Comte, France}
 \chapterauthor{Laurent Philippe}{Femto-ST Institute, University of Franche-Comte, France}
 
index 93de319034f26295e7834fa52e5be04fbd072ce6..2bfa979e3aeca72e87d62fc7d4014930456390ce 100644 (file)
@@ -15,7 +15,8 @@ kernel void diffuse(
     // _syncthreads() in CUDA
     barrier(CLK_GLOBAL_MEM_FENCE);
     
     // _syncthreads() in CUDA
     barrier(CLK_GLOBAL_MEM_FENCE);
     
-    // Retrieve neighbors surplus and add them to the current cell population
+    // Retrieve neighbors surplus and add them to the current cell
+               // population
     int surplus = OVERFLOW(world, overflows, i + 1, j) + OVERFLOW(world, overflows, i - 1, j) + OVERFLOW(world, overflows, i, j - 1) + OVERFLOW(world, overflows, i, j + 1);
     
     CELL(world, newPopulations, i, j) = CELL(world, populations, i, j) + surplus / 8.0 - OVERFLOW(world, overflows, i, j);
     int surplus = OVERFLOW(world, overflows, i + 1, j) + OVERFLOW(world, overflows, i - 1, j) + OVERFLOW(world, overflows, i, j - 1) + OVERFLOW(world, overflows, i, j + 1);
     
     CELL(world, newPopulations, i, j) = CELL(world, populations, i, j) + surplus / 8.0 - OVERFLOW(world, overflows, i, j);
index 3b648eb075949742229af8e89bb0347d701838ea..159b88ae4b800e37d4a0efca0bcd40e49e1f4dc9 100644 (file)
@@ -3,7 +3,8 @@ protected void doLiveImpl() {
     simulateKernel.setArguments(mmMem, omMem, worldsMem, mmOffsetsMem, omOffsetsMem, mmCSRMem, omCSRMem, partsMem);
 
     if (blockSize < Math.max(nbOM, nbMM)) {
     simulateKernel.setArguments(mmMem, omMem, worldsMem, mmOffsetsMem, omOffsetsMem, mmCSRMem, omCSRMem, partsMem);
 
     if (blockSize < Math.max(nbOM, nbMM)) {
-        throw new RuntimeException("blockSize (" + blockSize + ") too small to execute the simulation");
+        throw new RuntimeException("blockSize (" + blockSize + 
+                               ") too small to execute the simulation");
     }
 
     OCLEvent event = queue.enqueue1DKernel(simulateKernel, nbSim * blockSize, blockSize);
     }
 
     OCLEvent event = queue.enqueue1DKernel(simulateKernel, nbSim * blockSize, blockSize);
@@ -15,6 +16,5 @@ protected void doLiveImpl() {
         queue.blockingReadBuffer(mmMem, mmList, 0, mmMem.getSize());
         queue.blockingReadBuffer(omMem, omList, 0, omMem.getSize());
         queue.blockingReadBuffer(worldsMem, worlds, 0, worldsMem.getSize());
         queue.blockingReadBuffer(mmMem, mmList, 0, mmMem.getSize());
         queue.blockingReadBuffer(omMem, omList, 0, omMem.getSize());
         queue.blockingReadBuffer(worldsMem, worlds, 0, worldsMem.getSize());
-        System.out.println("copy");
     }
 }
     }
 }