Reputation: 5086
I am learning CUDA and I have something like this at the moment.
__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);
}
Thing is, each temperature needs the last one's result.
How can I force each block to wait for the last one.
Thanks!
Upvotes: 5
Views: 1221
Reputation: 545628
Just putting in a call to __syncthreads()
should do exactly what you want.
Upvotes: 8