Bonjour,

J'ai un problème en utilisant un semaphor pour bloquer l'accès à un tableau pour chaque work-item, voici le code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
__kernel void ker(__global float* v, __global int* semaphor)
{
     int g = get_global_id(0);
 
    // wait for reource are available
     while (atom_xchg (semaphor, 1) != 0)  {}
 
 
   // utilisation de la resource pendant qu'elle est bloquée
    v[g] = g;
 
   // deblocag de la resource
   atom_xchg (semaphor, 0);
 
 
 
   return;
}

Lorsque je lance la fonction ça plante et je ne comprends pas pourquoi, si quelqu'un a un idée, merci. Y a t-il un autre moyen de bloquer cette ressource ? Merci

Algernon