]> AND Private Git Repository - snake_gpu.git/blobdiff - src/lib_kernel_snake_2_gpu.cu
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
added rectangle generation for initialization
[snake_gpu.git] / src / lib_kernel_snake_2_gpu.cu
index 8d819a8997914305ecb0d53b2154e8b400e09f80..b807cb77e519efa15cfbdaf9a6c80a2367efb455 100644 (file)
@@ -33,6 +33,27 @@ __global__ void genere_snake_rectangle_4nodes_gpu(snake_node_gpu * d_snake, int
   }
 }
 
   }
 }
 
+__global__ void genere_diagos_rectangle(uint4 * d_diagos, int h, int l, int q){
+  int inci = h/q;
+  int incj = l/q;
+  int iM,jM, iN, jN ;
+  int idxDiago = 0 ;
+       // boucle double pour les positions du point NO de la diagonale
+       for ( iM = 0; iM < q-1; iM++){
+         for (jM = 0 ; jM < q-1 ; jM++){
+               //boucle double pour les positions du point SE de la diagonale
+               for (iN = iM+1; iN < q; iN++){
+                 for (jN = jM+1; jN < q; jN++){
+                       d_diagos[idxDiago].x = iM*inci;
+                       d_diagos[idxDiago].y = jM*incj;
+                       d_diagos[idxDiago].z = iN*inci;
+                       d_diagos[idxDiago].w = jN*incj;
+                       idxDiago++;
+                 }
+               }
+         }
+       }
+}
 
 __global__ void genere_snake_rectangle_Nnodes_gpu(snake_node_gpu * d_snake, int dist_bords, int i_dim, int j_dim){
   int nb_node_seg = 9 ;
 
 __global__ void genere_snake_rectangle_Nnodes_gpu(snake_node_gpu * d_snake, int dist_bords, int i_dim, int j_dim){
   int nb_node_seg = 9 ;