nvidia_p2p_get_pages() error

Due to a recent update in the Linux kernel version, a number of software and driver packages had to be re-installed. This system had been running for quite some time and was/is running CUDA 5.5. We intend to upgrade to a newer version of CUDA but we’d prefer to stay with 5.5 until we have the rest of the system up and running as there is a lot of custom hardware.

When CUDA 5.5 was re-installed, it updated the Nvidia driver from 319.82 to 367.44. All of the standard drivers now work. However, our custom driver to support RDMA now has issues.

In particular, the call to nvidia_p2p_get_pages() returns error -22 (invalid argument). The new header file containing the prototype for this function (nv_p2p.h) has some additional comments regarding the function parameters. The parameters we are passing to this function appear to be valid with respect to the new requirements. However, now it returns an error. The same code had been working for 3 years with the older driver.

Is it possible that 367.44 is no longer backwards compatible with CUDA 5.5? Or might there be something else I’m overlooking? This driver had been written by another contractor years ago and I’ve maintained it since then.

Rolling back to 319.82 would be a reasonable solution. However, that seems daunting and I’d prefer not to do so if it can be avoided.

Additional information:
Linux: RHEL v6.8
Kernel: 2.6.32-642.4.2.el6.x84_64

Nvidia boards installed:
– K20c
– GTX Titan Black
– GTX-650

Any ideas?

@pklgca, have you had any luck resolving this error?

My experience was that it was not backward compatible. I upgraded to CUDA 8 and that seemed to resolve the problem. Hope this helps.