MATLAB Answers

MATLAB CUDA 8.0 compatibility

17 views (last 30 days)
Ivan Farkas
Ivan Farkas on 20 Jul 2016
Commented: Joss Knight on 18 Apr 2017
  • When MATLAB CUDA 8.0 compatibility is released?
  • When MatConvNet CUDA 8.0 compatibility is released?
  • When MatConvNet 1.0 is released?

  2 Comments

Ivan
Ivan on 30 Sep 2016
CUDA 8.0 and MATLAB 2016b is released. What's the answer to the original question, please?
Joss Knight
Joss Knight on 18 Apr 2017
CUDA 8.0 is supported in MATLAB R2017a.

Sign in to comment.

Answers (6)

Tien-Ju Yang
Tien-Ju Yang on 22 Sep 2016
I am also waiting for Matlab to support CUDA 8.0 for quite a long time because of the Pascal GPUs. Until now, Matlab still cannot give out any specific time of their CUDA 8 support. However, I have waited so long, so I have no choice but to migrate all my code from Matlab to Python and leave the Matlab community.

  3 Comments

Walter Roberson
Walter Roberson on 22 Sep 2016
The first NVIDIA product with the Pascal architecture was the P100, which was released on June 19, 2016 -- only 3 months ago.
I just checked; CUDA 8.0 is not released as yet; it is still only "RC" (Release Candidate) and "requires membership of the the Accelerated Computing Developer Program". (It appears that it has been in RC state since June 1, 2016.)
It does not seem to make sense to me to blame Mathworks for not having released support for a product which is not released by its manufacturer. It does make some sense to be displeased about not having a timeline commitment relative to when the product does get released.
Tien-Ju Yang
Tien-Ju Yang on 23 Sep 2016
I totally understand. Nvidia should take most of the responsibility. If the condition now is that users can still use the pascal cards with CUDA 7.5 but with a lower speed, it is fine. Users can wait until Nvidia releases CUDA 8.0 and Matlab officially supports it. However, it is not the case. Users cannot use pascal cards with CUDA 7.5. If Matlab can announce a timeline to support it, users can plan accordingly, but Matlab just said "We don't know". It is impossible for users to postpone projects for half a year (or longer? We don't know.). Actually, I can use CUDA 8.0 now but there are lots of strange behaviors. Therefore, it would be great for Matlab to announce a timeline and give some workarounds (even just a hack or a temporary patch) before they officially support CUDA 8.0, especially that GPU functionality is the main and the most basic component of the parallel computing toolbox.
Walter Roberson
Walter Roberson on 23 Sep 2016
I would say that parallel processing is the "main and the most basic component of the parallel computing toolbox". The toolbox as originally released did not support gpu, just parfor, spmd, and similar routines for multi-core support.
Mathworks seldom publicly comments on timelines (not many vendors do.) The official way to get a timeline is to talk to Mathworks Sales, who can offer information under Non-Disclosure Agreement.
In looking around over the last few days, I have reached the impression that the Pascal architecture is not backwards compatible for all operations -- that it is not just a matter of offering access that is slower than would be possible, but that some operations no long work. See for example https://www.mathworks.com/support/bugreports/search_results?utf8=%E2%9C%93&search_executed=1&keyword=1439741&release_filter=Exists+in&release=0&selected_products=&commit=Search

Sign in to comment.


Walter Roberson
Walter Roberson on 20 Jul 2016
Edited: Walter Roberson on 29 Jul 2016
Cuda 8 might be supported some day, but which release was not decided as of just a few weeks ago.
Note: MATLAB seldom discusses future plans in public. If you want to know when a feature is coming, you need to talk to a Mathworks Sales representative under Non Disclosure Agreement.

  0 Comments

Sign in to comment.


Joss Knight
Joss Knight on 29 Jul 2016
Edited: Joss Knight on 29 Jul 2016
CUDA 8.0 hasn't been released yet, so your question is really one for NVIDIA! Past history says that a version of MATLAB will support the next-but-latest version of CUDA at the time of its release, although there are exceptions (MATLAB R2016a is built with CUDA 7.5 for instance).
Also, it's worth being clear what you mean by 'compatibility'. It is possible to force MEXCUDA to build against a newer version of the CUDA toolkit than MATLAB was built for, although not necessarily advisable.

  0 Comments

Sign in to comment.


Walter Roberson
Walter Roberson on 16 Mar 2017
Cuda 8.0 support was made official in R2017a.

  0 Comments

Sign in to comment.


C S
C S on 13 Sep 2016
Hi Joss,
Following up on Ivan's question. I am using a board (GTX 1080) that requires CUDA 8. You wrote that "It is possible to force MEXCUDA to build against a newer version of the CUDA toolkit than MATLAB was built for, although not necessarily advisable." Since it will not be possible to build against 7.5 which is supported by my version of MATLAB (R2016a) could you provide instructions on how to build against CUDA8?
Many thanks.

  1 Comment

Joss Knight
Joss Knight on 18 Apr 2017
Your assumption is not correct. If you are using R2016a, continue to use CUDA 7.5.

Sign in to comment.


Mendi Barel
Mendi Barel on 28 Feb 2017
Edited: Mendi Barel on 28 Feb 2017
This is how to compile (mexcuda) with Visual Studio 2015 and Cuda 8.0 :
  1. Go to: "\toolbox\distcomp\gpu\extern\src\mex\win64"
  2. Copy files and rename 2013 to 2015: { "nvcc_msvcpp2013.xml" , "nvcc_msvcpp2013_dynamic.xml"}
  3. Replace inside those files "7.5" to "8.0" and "12" to "14".
  4. Done.

  0 Comments

Sign in to comment.

Sign in to answer this question.