Is there a way to pin the host side of a unified memory block? The obvious try, calling cudaHostRegister on memory allocated with cudaMallocManaged, results in an “invalid argument” error.
(The memory in question holds a complex structure referenced by both host and device; it also has frequent updates that need a high transfer speed. So both unified and pinned memory make sense for it.)