Hello all.
I have a Linux driver, responsible for communicating with an FPGA, which allocates pages of memory marked for DMA transactions. I use the alloc_pages()
kernel API to get memory. We perform processing on the data transferred to those pages using an RTX 3070Ti.
Currently, we use mmap()
to map the kernel pages into userspace, and manage to use cudaHostRegister()
on the mmapped memory in userspace to speed up data transfer of the FPGA’s data into the GPU. This follows on from investigations in my previous post: Strange behaviour of cudaHostRegister
The problem I am having is that my overall application that I build will only work in the way described above when using sudo. If I don’t invoke the binary with sudo, I receive an error: Operation not permitted. This gets thrown when cudaHostRegister()
tries to run.
Would anyone have suggestions as to why this is happening?
Many thanks.