I want to make use of some CUDA functionality on my machine. It is running Gentoo Linux (64bit), Mathematica 10.0.2 on an Intel Xeon E5-1620v3 with a Geforce GTX750. So everything on the hardware/OS side should be ready for CUDA.
CUDA drivers seem to be installed properly, however CUDAQ[]
returns False
and CUDAInformation[]
behaves strangely (see further below, also this related post). What I execute in Mathematica
Needs["CUDALink`"]
(* no issues, seems to load fine *)
CUDAQ[]
(* False *)
CUDADriverVersion[]
(* 355.11.0 *)
CUDAResourcesInformation[]
(* {{"Name" -> "CUDAResources", "Version" -> "10.2.0.3",
"BuildNumber" -> "", "Qualifier" -> "LIN64",
"WolframVersion" -> "10.*", "SystemID" -> {"Linux-x86-64"},
"Description" -> "{ToolkitVersion -> 7.5, MinimumDriver -> 300.0}",
"Category" -> "", "Creator" -> "", "Publisher" -> "",
"Support" -> "", "Internal" -> False,
"Location" ->
"/home/usersFWM/luk/.Mathematica/Paclets/Repository/CUDAResources-\
LIN64-10.2.0.3", "Context" -> {}, "Enabled" -> True,
"Loading" -> Manual, "Hash" -> "da2008695ab87c5e2e072c552dc11217"}} *)
CUDAInformation[]
( * ReplaceAll::reps: {If[Which[Developer`CheckProtectedMode[CUDAInformation],Throw[$Failed],!TrueQ[GPUTools`Internal`ValidSystemQ[]],Throw[Message[CUDAInformation::invsys,$SystemID];$Failed],<<9>>,Throw[Message[CUDAInformation::syslibfld];$Failed],True,True],Throw[Message[<<15>>::<<5>>];<<7>>],Throw[$Failed]]} is neither a list of replacement rules nor a valid dispatch table, and so cannot be used for replacing. >> * )
$CUDALinkLibraryPath
(* /home/usersFWM/luk/.Mathematica/Paclets/Repository/CUDAResources-\
LIN64-10.2.0.3/LibraryResources/Linux-x86-64 *)
$CUDALinkPath
(* /usr/local/Mathematica-10.0.2/SystemFiles/Links/CUDALink/ *)
SystemInformation[]
(* telling me under 'Links' that "CUDALink is not supported on this system." *)
I seriously believe that I have read all threads here about setting up CUDALink, however they do not all really match this situation (only the one I linked to previously - where currently no more information is present; I attached a screenshot of the output that was requested there below).
The first thing I tried is CUDAResourcesUninstall[]
and CUDAResourcesInstall[]
which also did not solve the issue. Inspired by this thread I looked for the libraries in /usr/lib64/
:
ls -l | grep "libnvidia-tls.so"
lrwxrwxrwx 1 root root 18 Oct 28 07:40 libnvidia-tls.so -> libnvidia-tls.so.1
lrwxrwxrwx 1 root root 23 Oct 28 07:40 libnvidia-tls.so.1 -> libnvidia-tls.so.355.11
-rwxr-xr-x 1 root root 14480 Oct 28 07:40 libnvidia-tls.so.355.11
ls -l | grep "libcuda.so"
lrwxrwxrwx 1 root root 12 Oct 28 07:40 libcuda.so -> libcuda.so.1
lrwxrwxrwx 1 root root 17 Oct 28 07:40 libcuda.so.1 -> libcuda.so.355.11
-rwxr-xr-x 1 root root 14548520 Oct 28 07:40 libcuda.so.355.11
Given that the driver version is correctly recognized as 355.11
I assume that the system variables are linked properly? Or do I nevertheless have to use symlink
as suggested in this answer? Usually, I would just try it, but I do not have su
rights on my machine at work and currently there is no real system administrator - so I do not want to "waste" time of the only person left that may use su
, that's why I want to make sure it could be the reason.
Also, if you have other suggestions or need more information, please let me know.
Here is a screenshot of output of a command requested in the thread linked first.
Update
After a very long waiting period I have finally received something like a "final" statemet from support. Unfortunately, it seems they are unable to track down the issue:
I apologize for the long response time. Unfortunately, I've not been able to get any further useful help from our developers for your issue and there is nothing more that I can do to assist you. I have filed a suggestion on your behalf to look into the underlying cause of the issue.