10
$\begingroup$

It seems that Mathematica 12 doesn't support NVidia 2xxx (i.e 2080), 16xx or 1xxx series. Could it be that the CUDA section has not yet been rewritten for 12?

https://reference.wolfram.com/language/CUDALink/tutorial/Reference.html#522022378

$\endgroup$
  • 1
    $\begingroup$ Mathematica 10 appears to have the same documentation included, but CUDALink seems to work fine on the 10xx series GPU I have in my machine. It's likely just not been updated yet. $\endgroup$ – eyorble Apr 17 '19 at 1:06
  • 1
    $\begingroup$ Looks like Mathematica 11.x has CUDA 9.1 support, which includes pascal and volta chips; but not turing (20x0, 1660 notably). en.wikipedia.org/wiki/CUDA No info whereas 12 supports 20x0 series yet. $\endgroup$ – Jerome Ibanes Apr 17 '19 at 1:45
  • 6
    $\begingroup$ Yes, version 12 does support Turing GPUs. $\endgroup$ – ilian Apr 17 '19 at 3:43
  • $\begingroup$ @illian: Mathematica 12 supports turing GPUs from NVidia, does this mean it supports e.g. RTX 2080 ti. Is there somewhere a list which GPUs are supported by Mathematica 12? $\endgroup$ – Wolfgang123 Apr 17 '19 at 16:44
  • 1
    $\begingroup$ @JeromeIbanes did you find my answer to be sufficient? If I can provide more clarity, please let me know. Otherwise, would you be kind enough to accept my answer to your question? :D I hope this is not too crooked of a request! $\endgroup$ – CA Trevillian May 4 '19 at 17:25
10
$\begingroup$

Tl;dr Version 12 supports CUDA 10.1, which includes support for Turing Architecture.

To download the most updated version, even if you’ve just updated & are having trouble:

Needs["CUDALink`"]
CUDAResourcesInstall["<path_to_paclet>", Update->True]

As noted by @ilian, version 12 supports Turing chips/architecture. What this means is that GPUs with these chips will be supported. Turing chips are in all RTX cards. You only gain more and more access to computing resources as you go from 2060->2080. 2080->2080 Ti brings you a "true" Turing chip, with the RTX Titan having a "fully unlocked" Turing chip. All of these use Cuda 10, which is what is supported by Version 12 of Wolfram Language and Mathematica.

I will not discuss the Nvidia GPU Turing Architectures further, as that is outside of the scope of this forum. However, please see here for the source of this concrete commented notation of this compatibility:

"Neural nets in Mathematica 12 will use CUDA 10 and be compatible with your GPU."

-Sebastian Bodenstein, Wolfram Research

| improve this answer | |
$\endgroup$
  • 1
    $\begingroup$ that "Nvidia GPU Turing Architecture" link is about GeForce cards (GTX/RTX). You can't assume it works for other product lines, such as Tesla or Quadro. It says "GeForce" in the URL, and things are quite a bit different for Tesla cards, for example. $\endgroup$ – Andreas Lauschke Jan 21 at 21:17
  • $\begingroup$ @AndreasLauschke precisely! This is a valid point, which is why I do not mention it here. Only Turing architecture is discussed. $\endgroup$ – CA Trevillian Jan 21 at 21:22
  • $\begingroup$ I think you misunderstand. It's fine not to discuss Turing. What I meant is that it's contradictory to say "won't discuss Turing", but then give a link that's Turing only on GeForce. A better link would for example be nvidia.com/en-us/design-visualization/technologies/… $\endgroup$ – Andreas Lauschke Jan 21 at 21:24
  • $\begingroup$ and if M12 supports CUDA 10.1, why does Import@FileNameJoin[{$CUDALinkPath, "version.txt"}] return 8.0.61 then? $\endgroup$ – Andreas Lauschke Jan 21 at 21:25
  • $\begingroup$ I meant that I would not discuss the structure of their architecture. Turing chips are what are present in the cards. I think your second ask for clarification is the version of CUDALink that you have. $\endgroup$ – CA Trevillian Jan 21 at 21:29
1
$\begingroup$

Cuda seems to work on Mathematica 12 on a Windows 10 machine:

CUDAQ[]

True

CUDAInformation[]

{1 -> {"Name" -> "GeForce RTX 2080", "Clock Rate" -> 1710000, "Compute Capabilities" -> 7.5, "GPU Overlap" -> 1, "Maximum Block Dimensions" -> {1024, 1024, 64}, "Maximum Grid Dimensions" -> {2147483647, 65535, 65535}, "Maximum Threads Per Block" -> 1024, "Maximum Shared Memory Per Block" -> 49152, "Total Constant Memory" -> 65536, "Warp Size" -> 32, "Maximum Pitch" -> 2147483647, "Maximum Registers Per Block" -> 65536, "Texture Alignment" -> 512, "Multiprocessor Count" -> 46, "Core Count" -> 1472, "Execution Timeout" -> 1, "Integrated" -> False, "Can Map Host Memory" -> True, "Compute Mode" -> "Default", "Texture1D Width" -> 131072, "Texture2D Width" -> 131072, "Texture2D Height" -> 65536, "Texture3D Width" -> 16384, "Texture3D Height" -> 16384, "Texture3D Depth" -> 16384, "Texture2D Array Width" -> 32768, "Texture2D Array Height" -> 32768, "Texture2D Array Slices" -> 2048, "Surface Alignment" -> 512, "Concurrent Kernels" -> True, "ECC Enabled" -> False, "TCC Enabled" -> False, "Total Memory" -> 8589934592}}

I've also tried CUDAFourier and NetTrain, both seem to work as expected.

| improve this answer | |
$\endgroup$
1
$\begingroup$

I replaced CUDAToolkit 10.1 with 10.0. The fallback fixed my problems with "GPU not found". (Windows 10 home, Mathematica 12.0)

| improve this answer | |
$\endgroup$
  • $\begingroup$ See my updated answer, you should be good with 10.1, unless there is something awry with your hardware. After performing the update call I just added and referred to, do you still have issues? $\endgroup$ – CA Trevillian Apr 30 '19 at 9:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.