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 tempe开发者_StackOverflow中文版rature needs the last one's result.
How can I force each block to wait for the last one.
Thanks!
Just putting in a call to __syncthreads()
should do exactly what you want.
精彩评论