我想知道是否有类似于CL_MEM_USE_HOST_PTR的东西,但对于数据自动化系统。读取数据自动化系统文档,似乎唯一的“零拷贝”功能是通过API函数cudaHostAlloc实现的。问题是CUDA分配内存,我没有办法将其转移到某些预先分配的CPU内存区域。对于OpenCL来说,使用clCreateBuffer的指定标志是正常的。
也许我错了,但看起来数据自动化系统根本没有实现这样的东西。
发布于 2022-02-05 14:49:20
问题是CUDA分配内存,我没有办法将其转移到某些预先分配的CPU内存区域。
在CUDA中这样做的API调用是cudaHostRegister(),参见这里。
它接受普通主机分配器(如malloc()或new )返回的指针,并将内存区域转换为固定内存。(这将适用于“零拷贝”用法等。)
https://stackoverflow.com/questions/70985507
复制相似问题