2010-12-03 11 views
5

Ich lerne CUDA und ich habe gerade so etwas.CUDA Beginner - Force wartet auf den Thread, bevor er weitergeht

__device__ void iterate_temperatures(int fieldSize, Atom *atoms) { 

    int temperature = threadIdx.x + blockDim.x * blockIdx.x; 

    nAtoms = pow(fieldSize, DIMENSION); 


    iterate_atoms<<<nAtoms>>>(atoms, nAtoms, temperature); 
} 

Die Sache ist, jede Temperatur braucht das letzte Ergebnis.

Wie kann ich jeden Block zwingen, auf den letzten zu warten.

Danke!

Antwort

8

Nur ein Anruf an __syncthreads() sollte genau das tun, was Sie wollen.

Verwandte Themen