我對我看到的關於阻塞和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