Labo "Produit Scalaire".
[GPU.git] / WCudaMSE / BilatTools_Cuda / src / core / cudatools / header / device / synchronisation / Lock.h
index 4c6787d..97534a0 100755 (executable)
  *     The competing threads must then wait until the owner has written a 0 to the mutex beforfe they can attempt to modify the locked memory.\r
  *\r
  * Interet\r
- *     On utilise un lock lorsque l'opération qui doit être synchroniser ne possède pas d'opérateur atomic (comme atomicADD, ...),\r
- *     ou lorsqui'il s'agit de plusieurs opérations à synchroniser (joue alors le role de section critique)\r
+ *     On utilise un lock lorsque l'op�ration qui doit �tre synchroniser ne poss�de pas d'op�rateur atomic (comme atomicADD, ...),\r
+ *     ou lorsqui'il s'agit de plusieurs op�rations � synchroniser (joue alors le role de section critique)\r
  *\r
  * Note :\r
  *\r
- *     Lock ne laisse aucune trace coté host, il s'instancie only coté device: Code moins invasif\r
- *     LockMixte laisse une trace coté host. Code plus invasif\r
+ *     Lock ne laisse aucune trace cot� host, il s'instancie only cot� device: Code moins invasif\r
+ *     LockMixte laisse une trace cot host. Code plus invasif\r
  *\r
  * Use (Device side only)\r
  *\r
  *\r
  *     // Global variable of .cu\r
- *     __device__ int mutex=0; // Attention à l'initialisation\r
+ *     __device__ int mutex=0; // Attention  l'initialisation\r
  *\r
  *     // variable local inside a kernel (same .cu as variable mutex)\r
  *     Lock lock=Lock(&mutex);\r
@@ -76,10 +76,10 @@ class Lock
            // Solution:\r
            //          atomicCAS  = atomic Compare And Swap\r
            //          Prototype :     c atomicCAS(ptr,a,b)\r
-           //          Action :        compare ptr avec a, si egale affecte b à ptr, renvoie ptr\r
+           //          Action :        compare ptr avec a, si egale affecte b  ptr, renvoie ptr\r
 \r
            // Tant que ptrDev_mutex!=0 le thread cuda boucle sur while\r
-           // Des qu'il vaut 0, il met le mutex à 1 et lock se termine\r
+           // Des qu'il vaut 0, il met le mutex  1 et lock se termine\r
            while (atomicCAS(ptrDevMutexGM, 0, 1) != 0);\r
            }\r
 \r
@@ -92,7 +92,7 @@ class Lock
            // Solution 1:\r
            //\r
            //          *ptrDev_mutex=0;\r
-           //          Aucun thread en competition ici. L'affectation n'a pas besoin d'être atomique.\r
+           //          Aucun thread en competition ici. L'affectation n'a pas besoin d'tre atomique.\r
            //          Solution satisfaisante.\r
            //\r
            // Solution 2 (prefered for symetric approach)\r
@@ -112,7 +112,7 @@ class Lock
        int* ptrDevMutexGM;\r
     };\r
 \r
-#endif \r
+#endif\r
 \r
 /*----------------------------------------------------------------------*\\r
  |*                    End                                             *|\r