我对我看到的关于阻塞和cudaMemcpy的一些评论感到困惑。据我了解,费米HW可以同时执行内核并执行cudaMemcpy。cudaMemcpy&blocking
我读过Lib func cudaMemcpy()是一个阻塞函数。这是否意味着func会阻止进一步的执行,直到副本完全完成?或者这是否意味着直到以前的内核完成才能开始复制?
例如此代码是否提供相同的阻止操作?
SomeCudaCall<<<25,34>>>(someData);
cudaThreadSynchronize();
VS
SomeCudaCall<<<25,34>>>(someParam);
cudaMemcpy(toHere, fromHere, sizeof(int), cudaMemcpyHostToDevice);
我如何知道哪些呼叫是阻塞的,哪些不是?我在库描述中没有看到任何说“我是阻塞API调用”的东西。即,在cudaMemcpy描述中没有提及阻塞。 (也许我在找错地方?) – Doug 2012-07-23 22:15:49