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

use*_*453 2 cuda gpu nvidia

cudaMemcpy(dst, src, filesize, cudaMemcpyDeviceToHost);
Run Code Online (Sandbox Code Playgroud)

filesize存储在设备全局存储器中的变量在哪里.

Tom*_*Tom 5

简单的答案是否定的.

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

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