cudaMemcpy可以接受来自设备的变量作为参数吗?

时间:2013-08-23 12:30:37

标签: cuda gpu nvidia

cudaMemcpy(dst, src, filesize, cudaMemcpyDeviceToHost);

其中filesize是存储在设备全局内存中的变量。

1 个答案:

答案 0 :(得分:5)

简单的答案是否定的。

参数通过值传递,这意味着必须在主机代码中知道该值。因此,您应首先调用cudaMemcpy()来获取大小,然后再调用cudaMemcpy()来执行实际的副本。

如果你正在使用Thrust向量,你可以只读取主机代码中的元素,但这是因为Thrust会为你处理副本。