CUDA, MATLAB mex and compilers

Hi all,

I developed a toolbox in MATLAB that uses CUDA code. For that the so called MATLAB mex files are created, in my case basically a bridge. They take MATLAB types and convert them to plain C++, then call some CUDA functions that are just C++.

However, to be able to compile it in windows, you need a set of MATLAB supported compilers, and some xml files that link to NVCC. The supported compilers are MATLAB version dependent, but broadly MinGW, SDK7.1, and Visual Studio versions.

The process of compiling everything using Visual Studio has no problem. Compiles the mex file with the .cu files without problem. However SDK7.1 and MinGW do not seem to be able to compile .cu files as they seem to be “unsupported”. I contacted Mathworks support about this, and they claim that this is a problem in the NVIDIA side.

My question is: can this be confirmed? Are SDK7.1 and MinGW unable to compile CUDA in Windows OS? Is there any way that we can make these compilers compiler CUDA code?

The toolbox:


The only supported host compiler for CUDA usage on windows is cl.exe, the compiler that ships with Visual Studio.

This is covered in the system requirements section of the CUDA windows installation guide: