On my system (OSX 10.11.1) with Mathematica 10.3 executing
Needs["CUDALink`"]
and then
CUDAInformation[]
Yields an output with unevaluated raw code:
1 /. If[Which[Developer`CheckProtectedMode[CUDAInformation],
Throw[$Failed], ! TrueQ[GPUTools`Internal`ValidSystemQ[]],
Throw[Message[CUDAInformation::invsys, $SystemID]; $Failed],
True && !
TrueQ[Quiet[
StringMatchQ[
GPUTools`Internal`VideoCardName[], ___ ~~ "NVIDIA" ~~ ___,
IgnoreCase -> True]]] &&
GPUTools`Internal`VideoCardInformation["Description"] =!=
"Description",
Throw[Message[CUDAInformation::invdevnm,
GPUTools`Internal`VideoCardName[]]; $Failed],
GPUTools`Internal`$NVIDIADriverLibraryPath === $Failed || !
TrueQ[Quiet[
DirectoryQ[
DirectoryName[GPUTools`Internal`$NVIDIADriverLibraryPath]]]],
Throw[Message[CUDAInformation::invdriv]; $Failed],
TrueQ[Quiet[
DirectoryQ[GPUTools`Internal`$NVIDIADriverLibraryPath]]],
Message[CUDAInformation::invdrivp,
DirectoryName[GPUTools`Internal`$NVIDIADriverLibraryPath]];
Return[$Failed], !
TrueQ[GPUTools`Internal`$NVIDIADriverLibraryValidQ],
If[GPUTools`Internal`$NVIDIADriverLibraryVersion === $Failed,
Message[CUDAInformation::invdrivver],
If[GPUTools`Utilities`LibraryGetDirectory[
GPUTools`Internal`$NVIDIADriverLibraryVersion] =!= $Failed &&
TrueQ[Quiet[
DirectoryQ[
GPUTools`Utilities`LibraryGetDirectory[
GPUTools`Internal`$NVIDIADriverLibraryVersion]]]],
Message[CUDAInformation::invdrivverv,
GPUTools`Utilities`LibraryVersionInformationString[
GPUTools`Internal`$NVIDIADriverLibraryVersion]],
Message[CUDAInformation::invdrivverd,
GPUTools`Utilities`LibraryGetDirectory[
GPUTools`Internal`$NVIDIADriverLibraryVersion]]]];
Throw[$Failed], GPUTools`Internal`LoadCUDALibraries[] === $Failed,
Throw[Message[CUDAInformation::syslibfld]; $Failed], True, True],
Throw[Message[CUDAInformation::nodev]; $Failed], Throw[$Failed]]
I will file a bug report....
Note that in my case
CUDAQ[]
returns
False
Presumably CUDAInformation[]
should return something sensible (like $Failed) when CUDA is not installed.