Hi,
I get the following error message when I try to use the mexcuda(and mex function) in Matlab 2016b on Windows 7. I am confused because I have downloaded installed both MinGW64 Compiler and Microsoft Windows SDK 7.1. I also have Microsoft Visual Studio 2013 and 2015 (x64 and x86).
mexGPUall
Warning: The selected C++ compiler is not supported for CUDA compilation.
Searching for a supported compiler.
In mexcuda (line 89)
In mexGPUall (line 5)
Error using mex
No supported compiler or SDK was found. For options, visit
Support - System Requirements and Supported Compilers Previous Releases - MATLAB & Simulink.
Error in mexcuda (line 157)
[varargout{1:nargout}] = mex(mexArguments{:});
Error in mexGPUall (line 5)
mexcuda -largeArrayDims mexMPmuFEAT.cu
It seems that Matlab/mex is able to find MinGW64 Compiler and Microsoft Windows SDK 7.1, however it says that they do not work with CUDA. I get the following message when I run mex -setup C++ :
MEX configured to use ‘MinGW64 Compiler (C++)’ for C++ language compilation.
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements. In the near future
you will be required to update your code to utilize the
new API. You can find more information about this at:
Upgrade MEX Files to Use 64-Bit API - MATLAB & Simulink.
To choose a different C++ compiler, select one from the following:
MinGW64 Compiler (C++) mex -setup:C:\Users\allema\AppData\Roaming\MathWorks\MATLAB\R2016b\mex_C++_win64.xml C++
Microsoft Windows SDK 7.1 (C++) mex -setup:‘C:\Program Files\MATLAB\R2016b\bin\win64\mexopts\winsdk-7.1_cpp.xml’ C++
I am very confused, I thought that both MinGW64 and Microsoft Windows SDK 7.1 were specifically recommended for CUDA computation. Am I missing something? Any advice would be greatly appreciated.