cudaMemcpy(dst, src, filesize, cudaMemcpyDeviceToHost);
其中filesize
是存储在设备全局内存中的变量。
最佳答案
简单的答案是否定的。
参数按值传递,这意味着主机代码中必须知道该值。因此,您应该第一次调用 cudaMemcpy() 来获取大小,然后第二次调用 cudaMemcpy() 来执行实际的复制。
如果您使用 Thrust 向量,您只需读取主机代码中的元素,但这是因为 Thrust 会为您处理副本。
关于cuda - cudaMemcpy 可以接受来自设备的变量作为其参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18402933/