我对一些关于阻塞和 cudaMemcpy 的评论感到困惑。据我了解,Fermi HW 可以同时执行内核并执行 cudaMemcpy。
我读到 Lib func cudaMemcpy() 是一个阻塞函数。这是否意味着 func 将阻止进一步执行,直到副本完全完成?或者这是否意味着在先前的内核完成之前不会开始复制?
例如,此代码是否提供相同的阻塞操作?
SomeCudaCall<<<25,34>>>(someData);
cudaThreadSynchronize();
对比
SomeCudaCall<<<25,34>>>(someParam);
cudaMemcpy(toHere, fromHere, sizeof(int), cudaMemcpyHostToDevice);