假设我的设备是Kepler及以上,CUDA是6.5或以上,我的驱动程序最早是从2015年开始的。
可以与cudaHostGetDevicePointer()
相反吗?即,提供一些映射存储器的设备侧表现的地址,获得主机地址?
答案 0 :(得分:1)
如果您在具有统一寻址支持的平台上运行,则可以在统一地址空间中注册或分配的任何指针上调用cudaPointerGetAttributes。该函数返回一个结构
struct cudaPointerAttributes {
enum cudaMemoryType memoryType;
int device;
void *devicePointer;
void *hostPointer;
int isManaged;
}
它将告诉您内存的设备和主机地址,以及它实际驻留在哪个设备上,或者它最初注册的设备上下文(主机内存)。
如果您无法访问统一寻址,我认为没有办法实现这一目标。