Message Boards Message Boards

GROUPS:

CUDA not working on Mathematica 12.2

Posted 1 month ago
1597 Views
|
38 Replies
|
27 Total Likes
|

hello all :) CUDA is not working on 12.2. Look at this: What I am supposed to do ? I also tried by downloading the CUDA pcklets: change nothing. I have an NVIDIA RTX 3090 and the drivers are ok. Thank you foe helping me. Regards to all,

Jean-Michel

Attachments:
38 Replies

Yes, I can confirm that (Win10 + Quadro P1000 + Mathematica 12.2). CUDAlink and all subsequent CUDA functionalities looks like totally broken... :(

Hello Michal, I will send a mail to Support. Regards, Jean-Michel

Please keep us informed here for any solutions...

Starting in V12.2 the CUDA Toolkit binaries are not supplied by Wolfram Research, but should be installed separately by the user. Do you have the CUDA Toolkit from NVIDIA installed?

It can be found here: https://developer.nvidia.com/cuda-toolkit

Yes, I have installed CUDA toolkit 10.2.

Where can I find actual compatibility matrix?

What a pity I have THE RTX 3090 with more than 10000 cuda cores. I will install cuda toolkit 11.* I will let you know here. Regards

Which versions of NVIDIA CUDA Toolkit is compatible with Mma 12.2???

CUDA Toolkit 11.x should work (but 10.x will not).

We installed CUDA 11.2 successfully (Windows 2019 Server + Quadro GV100 and Windows 10 + Titan V) but, in both machines, CUDA functionality in Mathematica 12.2 is broken.

CUDAQ[] returns True, and CUDADriverVersion[] returns 465.21 but CUDADot[Table[i, {i, 10}, {j, 10}], Table[i, {i, 10}, {j, 10}]] returns CUDADot::nopaclet: CUDAResources was not found. Make sure that you are connected to the internet and Mathematica is allowed access to the internet.

We have invested heavily on Mathematica CUDA software and supporting hardware, so this functionality is vital for us. I hope this can be fixed asap.

That is very strange... CUDADot does not require the CUDAResources paclet. Do the documentation examples for CUDAFunctionLoad work?

I tried the command

cudaFun = CUDAFunctionLoad[code, "addTwo", {{_Integer, _, "Input"}, {_Integer, _, "Output"}, _Integer}, 256]

from the documentation, but it returned the error message "CUDAFunctionLoad::instl: The compiler installation directive "CompilerInstallation" -> $Failed does not indicate a usable installation of NVIDIA CUDA Compiler (executable: CCompilerDriverCCompilerDriverBaseBaseDriver[ResolveCompilerName][Automatic])."

I have CUDA 11.2 installed and the latest Nvidia drivers, CUDA works with Visual Studio as well as Mathematica 12.1. and 12.0. CUDA seems to be broken only in Mathematica 12.2.

The latest version of NVIDIA Toolkit is 11.2 I try to install but there a incompability with another software on my comp'. I try...I will let you know. Jean-Michel

CUDA worls perfectly with Mathematica 2.2 AND CUDA Toolkit 11.2 . this is sure I just installed it and tested. I repeat Toolkit 11.2 . You can find it on nvidia web. Excellent :) Greetings to all members.

Posted 27 days ago

"As of Version 12.2, CUDA on macOS is no longer supported."

Seriously?! Is there any workaround to run NetTrain[] on macOS + NVIDIA GPU + MMA 12.2?

https://reference.wolfram.com/language/workflow/UseCUDAOnAnExternalGPUOnMac.html

No NVIDIA CUDA support on Macs from now, including external NVIDIA GPUs. Happy computing ...

Unfortunately not. The dispute between Apple and Nvidia means there haven't been updated drivers or CUDA Toolkit on mac for many years so it no longer made sense for us to try to support it.

Posted 25 days ago

Hello, I cannot manage to have CUDA working on 12.2 Either on Linux or Windows I successfully installed CUDA 11.2.0 on both OSes (nvcc available, compiling CUDA examples OK, environment variables OK, etc.) On Windows: not working, keeps saying that on CUDAResources are not available, trying to install CUDAResources-Win64-12.1.0 manually does not work... On Linux: it seems to work but downgraded to 9.0.0.0 ?! Mathematica keeps downloading over and over CUDAResources-Lin64-9.0.0.0 paclet ! (files in this kit are dated 2012...!) Trying to install CUDAResources-Lin64-12.1.0 manually does not work... So, where is the problem ? Should I need a "CUDAResources-Win64/Lin64-12.2.0. paclet" ? But where it is ? (Only 12.1.0 is at available for download at https://www.wolfram.com/CUDA/CUDAResources.html) What is the exact procedure to have CUDA working in 12.2 Linux & Windows ? Jean-Michel, how did you manage to make it working ? Detailed procedure ? Thank you for your help, Jean

Attachment

Attachments:

I am getting the exact same issue.

Hello, I just downloaded the package from NVDIA resources (11.2) toolkit , clicked on the installer and all ran well. I am not a magician but it worked. Best.

Posted 25 days ago

Hi Jean-Michel, Well, strange... I guess you are with Windows. So, your CUDAResourcesInformation[] must return something valid, pointing to the correct CUDA lib version ? (11.2). Could you share ? Thanks, J.

The CUDAResources paclet is no longer needed as of Mathematica 12.2, and will no longer distribute CUDA libraries from now on. As such, CUDAResourcesInformation[] no longer returns any relevant information. CUDALink should now use the CUDA Toolkit libraries installed on your machine. If it is not doing so, more information would be appreciated : OS version, CUDA Toolkit version, Nvidia driver version, for example.

I'm also having the same issue, installed toolkit 11.2 and still CUDAResourcesInformation[] doesn't recognise anything. Please provide detailed information.

CUDAResourcesInformation[], as well as the CUDAResources paclet itself, is no longer needed in Mathematica 12.2.0. We apologize for the documentation not having been updated to reflect this change.

What does CUDAQ[] return? Are you on Windows or Linux?

Hello, I am on Windows 10 Pro edition, Mathematica 12.2, RTX 3090 GPU and I have installed NVIDIA's CUDA Toolkit 11.2.

CUDAQ[] returns True and CUDAInformation correctly recognises my GPU system. However whenever I run any GPU call the calculation will simply run forever up to the point where mathematica tells me it's not responding any more. I attach a snaposhot to demonstrate. I should mention that the same system on mathematica 12.1 run perfectly on my previous RTX 2080Ti GPU.

Attachment

Attachments:

Hi Gianni,

Please note that CUDALink and NetTrain use a completely separate implementation, I believe NetTrain actually does distribute the necessary libraries (in a paclet called MXNetResources). The good news here seems to be that CUDALink is working, the bad news that NetTrain is having some problems... I've forwarded this to our developers to investigate.

Dear Stefan,

Indeed it appears Mathematica 12.2 uses an old version of MxNET which doesn't seem appropriate for RTX3090 GPU series. I think the MxNET paclet has to be updated.

Thank you.

Gianni

We think you may be right, we're looking into a fix!

Hi Stefan,

strangely the 11.2+12.2+RTX 3090 combination seems to have worked before (see above user Jean-Michel Collard). It apparently doesn't work for some of us? Something non trivial is happening here. In any case, thank you very much for your help. I hope I can get this resolved asap.

Thank you for the feedback! We are investigating and will push out fixes as soon as possible!

Dear Stefan,

Is there an update to this issue?

Thank you, Gianni

Posted 24 days ago

There seems to be a development on my problem. Apparently the GPU calculations do work after all, the problem is one of initialization. The first time the GPUs are called for any calculation the kernel takes around 25 minutes to end the calculation and load the GPUs (this seems to be independent of what calculation involving the GPUs is being done). Once the GPU is loaded once by waiting these 25 minutes, all remaining calls to GPU have an instant response and everything works normally. This intial call happens for every new Kernel and everytime the kernel is re-initiated.

Therefore it seems to be an issue with loading the GPUs the first time. Not sure however how to resolve this. Clearly this is a big problem, since kernel resets happen all the time and one cannot be dependant on waiting 25 minutes per reset.

Posted 24 days ago

Hi,

  • Windows 10 Pro 20H2 build 19042.685, CUDA 11.2, driver 460.89
  • OpenSUSE Tumbleweed, kernel 5.9, CUDA 11.2, driver 455

I would like to add that I used CUDALink on my PC (Windows 10, M1200) and on a server (2x K2 until recently, now 2x P4) prior to 12.2. Since I installed 12.2, CUDA did not work. The same issues are described several times in this thread.

I also removed Mathematica completely as described on the Wolfram website and re-installed Mathematica, Visual Studio 2019, nVidia GPU, CUDA toolkit 11.2 from scratch. No problem compiling GPU code in the VS2019 environment but CUDA in 12.2 does not work.

I rely heavily on CUDA.

I am working myself through various 12.2 issues (SerialLink?, R?, Julia?, ...). Unluckily, I cannot test everything from my well-equipped and well-connected home office but I thought I could solve the CUDA issues. I will give this up, until Wolfram provides a solution.

EDIT: Well so much about stopping.

(Inner[Rule, #, ToExpression@#, Association] &@
   Names["$*CUDA*"]) // Dataset

Dataset First six Associations

What does

<<CUDALink`
CUDAQ[]

return for you?

<< CUDALink`

CUDAQ[]
True

CUDAInformation[]
{1 -> {"Name" -> "Quadro M1200", "Clock Rate" -> 1148000, 
   "Compute Capabilities" -> 5., "GPU" ....

CUDADriverVersion[]
460.89

vec = Range[1., 10];
CUDAFourier[ vec]

CUDAFourier::internal: CUDALink experienced an internal error.
CUDAFourier[{1., 2., 3., 4., 5., 6., 7., 8., 9., 10.}]

Thanks, this is useful! There might be a separate problem with CUDAFourier. Do other functions like CUDADot work? And how about CUDAFunctionLoad?

Amazing. CUDADot and now even CUDAFourier and CUDAMemoryLoad and CUDAMemoryGet work. But

cudaFun = 
 CUDAFunctionLoad[code, 
  "addTwo", {{_Integer, _, "Input"}, {_Integer, _, 
    "Output"}, _Integer}, 256]

CUDAFunctionLoad::instl: The compiler installation directive "CompilerInstallation" -> $Failed does not indicate a usable installation of NVIDIA CUDA Compiler (executable: CCompilerDriver`CCompilerDriverBase`BaseDriver[ResolveCompilerName][Automatic]).

CUDACCompilers[]
{{"Name" -> "Visual Studio", 
  "Compiler" -> 
   CCompilerDriver`VisualStudioCompiler`VisualStudioCompiler, 
  "CompilerInstallation" -> 
   "C:\\Program Files (x86)\\Microsoft Visual \
Studio\\2019\\Community", 
  "CompilerName" -> Automatic}, {"Name" -> "Visual Studio", 
  "Compiler" -> 
   CCompilerDriver`VisualStudioCompiler`VisualStudioCompiler, 
  "CompilerInstallation" -> 
   "C:\\Program Files (x86)\\Microsoft Visual \
Studio\\2017\\BuildTools", "CompilerName" -> Automatic}}

I am very confused. It is asking me for a paclet, but this conversation says that 12.2 needs no paclet. Is there some sort of web page or blog or something that explains how to get CUDA working with 12.2???

In[8]:= CUDAQ[]

Out[8]= True

In[9]:= CUDAInformation[]

Out[9]= {1 -> {"Name" -> "GeForce GTX 1080 Ti", 
   "Clock Rate" -> 1582000, "Compute Capabilities" -> 6.1, 
   "GPU Overlap" -> 1, ...

In[10]:= CUDADriverVersion[]

Out[10]= "460.89"

In[11]:= vec = Range[1., 10];
CUDAFourier[vec]

During evaluation of In[11]:= CUDAFourier::nopaclet: CUDAResources was not found. Make sure that you are connected to the internet and Mathematica is allowed access to the internet.

Out[12]= CUDAFourier[{1., 2., 3., 4., 5., 6., 7., 8., 9., 10.}]
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract