Message Boards Message Boards

Can requirements for GPU be changed after upgrade?

So far, I have used the option TargetDevice -> "GPU" in NetTrain function that provided 3 times faster networks' training. But after last upgrading from Wolfram Research server, each time the message "NetTrain::mxoldgpu: Your GPU does not support the operations required to evaluate this network" is reported. The option TargetDevice -> "CPU" works properly, but slower. The only reason I can suppose is the change of requirements for GPU equipment. My card is not enough powerful (2 GB nVIDIA GeForce GT 710). Do experts have any thoughts on this issue?

POSTED BY: Konstantin Nosov
4 Replies
Posted 3 years ago

The Wolfram language internally uses Apache MXNet, so we are at the mercy of their GPU requirements for ML training.

According to this Nvidia website regarding MXNet, "You will also need an NVIDIA GPU supporting compute capability 3.0 or higher."

The compute capability has to do with the computational instructions available in the graphics chip (in your case a GT 710 chip).

Edit: Actually, the GT 710 is not on the list because there are two versions of the GT 710. One version had a compute capability of 2.0 and the other 3.0.

Because Neural Network training worked for you in the past, your GT 710 probably has a compute capability of 3.0. Mathematica 12.2 seems to be compatible with CUDA version 11. According to the Nvidia forum, CUDA 11 requires a compute capability of 3.5, so your card is probably not compatible with CUDA 11. Maybe the upgraded version from the wolfram research server needs CUDA 11 features that your GPU is not compatible with.

I am not sure if the Wolfram plans to support older cuda versions, but some newer networks probably need operations that only higher compute capability GPUs can perform efficiently.

POSTED BY: Alec Graves

I see that it's time to buy a new video adapter.

POSTED BY: Konstantin Nosov
Posted 3 years ago

As an update for anyone else who finds this thread, I found a list of currently supported CUDA Compute Capabilities in the NetTrain TargetDevice documentation section (kinda an obvious spot to look, sorry I missed it!)

Now we just have to wait for 2060s to go back to normal < $1000 prices... :(

POSTED BY: Alec Graves
Posted 3 years ago

I am experiencing a similar problem. I have a Tesla K40c with cuda compute capability 3.5. Since Mathematica 12.2, the NetTrain with TargetDevice->"GPU" doe not work (NetTrain::mxoldgpu: Your GPU does not support the operations required to evaluate this network). Regarding the documentation, only cc 3.7+ is supported.

Is there any specific reason for that? Is there any chance that Wolfram will fix this issue?

The only technical difference between 3.5 and 3.7 is 48K of shared memory per multiprocessor (the cc 3.7 has 112K, but the newer 5.0 has 64K, which is not much different). Ok, 3.7 also has 128K of 32-bit registers per multiprocessor, but it is a kind of outlier since all the newer cc 5.0+ has 64K (same as cc 3.5). The features and specifications are the same for cc 3.5 up to 5.2.

The mxNet requires the compute capability 3.0 and higher (https://www.nvidia.com/en-sg/data-center/gpu-accelerated-applications/mxnet/)

I am so sad that I cannot use this powerful card anymore, especially when there is no technical reason for that.

I think if there is a way to do some hack to override the cc version detection (simulate the higher version), or if Wolfram could fix it in the future releases.

POSTED BY: Zdenek Buk
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