Big pinned memory allocations

As per CUDA programming guide:
“Page-locking excessive amounts of memory may degrade system performance, since it reduces the amount of memory available to the system for paging. As a result, this function is best used sparingly to register staging areas for data exchange between host and device”

What % of the overall CPU RAM to be allocated with pinned memory, is a good/best choice for huge amounts of data?
Specifically on linux Intel/IBM.
Is there a more precise recommendation of how much is valid/good?


Since this is purely an OS issue, I would suggest consulting your operating system’s documentation for a recommended upper limit. Alternatively, run experiments in the intended target environment (hardware + software).

From a PCIe throughput rate perspective, it should not be necessary to use pinned buffers greater than 16 MB in size. By observation, the CUDA driver appears to use a pinned buffer a few MB in size.