OS: OpenSuse Leap 15.5
GPU: RTX Pro 5000 Blackwell
driver version: 580.76.05
I am trying to register a large numa-allocated and pinned host buffer into an OpenCL context for peak transfer performance in smaller chunks to VRAM buffers. But as soon as clEnqueueMapBuffer is called with such a buffer, the driver wants to mirror it in the VRAM, which is not possible since its size exceeds the VRAM size.
The extension function clCreateBufferNV will indeed allocate only on the host but only when calling it with CL_MEM_ALLOC_HOST_PTR. This is not an option in my program. The buffer is allocated by another component.
Is there a way to register the large host buffer in the OpenCL context without the driver trying to mirror it?
P.S. I could not find documentation about Nvidia’s OpenCL extensions. I used the web archive to find a presentation for the clCreateBufferNV extension and I used that to test it. Other available documentation seems to be very old. I would be grateful if I got something newer.