nvidia-uvm will be required (or is already required) for CUDA, see: http://www.nvidia.com/Download/driverResults.aspx/69372/ The module is located in the "uvm" subdirectory of the standard nvidia kernel module directory. nvidia-drivers needs to be modified to build and install this module, too. Reproducible: Always
I've been playing with this in the 331 branch and back then it failed miserably. I'll look into it again for the 334 branch, but the current 334 is a beta, so don't keep your hopes up.
Unfortunately the Unified Memory kernel module is already required for the CUDA 6 release candidate. The CUDA SDK samples fail on execution if the nvidia-uvm cannot be found: manakov release # ./matrixMul [Matrix Multiply Using CUDA] - Starting... modprobe: FATAL: Module nvidia-uvm not found. cudaGetDevice returned error code 3, line(396) [..]
With -r5 and USE=uvm you get nvidia-uvm.ko installed. For me it doesn't work, though. `modprobe -v nvidia-uvm' gives me this (after the ellipsis): [773308.242956] [drm] Module unloaded [773316.780583] [drm] Initialized nvidia-drm 0.0.0 20130102 for 0000:01:00.0 on minor 0 [773316.780593] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 334.16 Tue Feb 4 14:41:05 PST 2014 [...] [773316.817909] nvidia 0000:01:00.0: irq 42 for MSI/MSI-X [773316.833945] nvidia_uvm: no symbol version for nvUvmInterfaceRegisterUvmCallbacks [773316.833951] nvidia_uvm: Unknown symbol nvUvmInterfaceRegisterUvmCallbacks (err -22) [773316.833960] nvidia_uvm: no symbol version for nvUvmInterfaceDeRegisterUvmOps [773316.833964] nvidia_uvm: Unknown symbol nvUvmInterfaceDeRegisterUvmOps (err -22) [773316.833970] nvidia_uvm: no symbol version for nvUvmInterfaceChannelDestroy [773316.833972] nvidia_uvm: Unknown symbol nvUvmInterfaceChannelDestroy (err -22) [773316.833976] nvidia_uvm: no symbol version for nvUvmInterfaceAddressSpaceDestroy [773316.833979] nvidia_uvm: Unknown symbol nvUvmInterfaceAddressSpaceDestroy (err -22) [773316.833983] nvidia_uvm: no symbol version for nvUvmInterfaceSessionDestroy [773316.833986] nvidia_uvm: Unknown symbol nvUvmInterfaceSessionDestroy (err -22) [773316.834002] nvidia_uvm: no symbol version for nvUvmInterfaceServiceDeviceInterruptsRM [773316.834005] nvidia_uvm: Unknown symbol nvUvmInterfaceServiceDeviceInterruptsRM (err -22) [773316.834009] nvidia_uvm: no symbol version for nvUvmInterfaceCheckEccErrorSlowpath [773316.834012] nvidia_uvm: Unknown symbol nvUvmInterfaceCheckEccErrorSlowpath (err -22) [773316.834016] nvidia_uvm: no symbol version for nvUvmInterfaceKillChannel [773316.834019] nvidia_uvm: Unknown symbol nvUvmInterfaceKillChannel (err -22) [773316.834031] nvidia_uvm: no symbol version for nvUvmInterfaceGetGpuArch [773316.834034] nvidia_uvm: Unknown symbol nvUvmInterfaceGetGpuArch (err -22) [773316.834054] nvidia_uvm: no symbol version for nvUvmInterfaceGetUvmPrivRegion [773316.834057] nvidia_uvm: Unknown symbol nvUvmInterfaceGetUvmPrivRegion (err -22) [773316.834062] nvidia_uvm: no symbol version for nvUvmInterfaceGetAttachedUuids [773316.834065] nvidia_uvm: Unknown symbol nvUvmInterfaceGetAttachedUuids (err -22) [773316.834073] nvidia_uvm: no symbol version for nvUvmInterfaceSessionCreate [773316.834076] nvidia_uvm: Unknown symbol nvUvmInterfaceSessionCreate (err -22) [773316.834080] nvidia_uvm: no symbol version for nvUvmInterfaceAddressSpaceCreateMirrored [773316.834083] nvidia_uvm: Unknown symbol nvUvmInterfaceAddressSpaceCreateMirrored (err -22) [773316.834086] nvidia_uvm: no symbol version for nvUvmInterfaceQueryCaps [773316.834089] nvidia_uvm: Unknown symbol nvUvmInterfaceQueryCaps (err -22) [773316.834093] nvidia_uvm: no symbol version for nvUvmInterfaceChannelAllocate [773316.834096] nvidia_uvm: Unknown symbol nvUvmInterfaceChannelAllocate (err -22) [773316.834099] nvidia_uvm: no symbol version for nvUvmInterfaceCopyEngineAllocate [773316.834102] nvidia_uvm: Unknown symbol nvUvmInterfaceCopyEngineAllocate (err -22) [773316.834106] nvidia_uvm: no symbol version for nvUvmInterfaceMemoryAllocSys [773316.834109] nvidia_uvm: Unknown symbol nvUvmInterfaceMemoryAllocSys (err -22) [773316.834112] nvidia_uvm: no symbol version for nvUvmInterfaceMemoryCpuMap [773316.834115] nvidia_uvm: Unknown symbol nvUvmInterfaceMemoryCpuMap (err -22) [773326.186320] nvidia 0000:01:00.0: irq 42 for MSI/MSI-X
Now this must be an ebuild problem. With x11-drivers/nvidia-drivers-334.16-r5 you just execute "env FEATURES=keepwork emerge ...", then change to the /var/tmp/portage/.../uvm directory and do a "make && make install". The resulting module can be inserted into the kernel.
(In reply to Andreas Steinmetz from comment #4) > Now this must be an ebuild problem. Of course it is.
When nvidia-uvm is built first, the module dependencies get registered correctly. I'll see if I can backport this to 331.20, but for now 334.16-r6 does it right.
nvidia-drivers-331.38 has a kernel incompatibility in nvidia-uvm so that would force the supported kernel down to 3.11. So try out 334.16-r6 with USE=uvm. Please report new bugs with that in a separate bug report.