'未检测到使用mex支持的编译器时出错':无法安装与CUDA兼容的MATLAB C++编译器

hmmo2u0o  于 2022-12-27  发布在  Matlab
关注(0)|答案(1)|浏览(464)

我有Matlab 2022b,Windows 11.在Matlab的mex -setup cpp产量

MEX configured to use 'Microsoft Visual C++ 2022' for C++ language compilation

在命令提示符下,nvcc --version生成:

nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2022 NVIDIA Corporation
    Built on Mon_Oct_24_19:40:05_Pacific_Daylight_Time_2022
    Cuda compilation tools, release 12.0, V12.0.76
    Build cuda_12.0.r12.0/compiler.31968024_0

当我尝试运行this file时,我得到这个错误:

Error using mex
    Supported compiler not detected. For options, visit https://www.mathworks.com/support/compilers.
    
    Error in mexcuda (line 168)
        [varargout{1:nargout}] = mex(mexArguments{:});
    
    Error in mexGPUall (line 7)
        mexcuda -largeArrayDims spikedetector3.cu

在Matlab中选择“MinGW64编译器(C++)”会产生相同的错误。
我找到了this thread。至少有一个参与者正在尝试运行与我相同的应用程序Kilosort。我尝试下载并安装Visual Studio 2019。完成了这一操作后,mex -setup cpp并没有给我提供比以前更多的C++编译器选项。
有人知道我如何安装一个编译器,使我能够执行该文件,并运行Kilosort吗?

bzzcjhmw

bzzcjhmw1#

MATLAB曾经有一个very stringent GPU-hardware/CUDA toolkit/MATLAB version compatibility requirement,一直到小数点后的数字。
您可能需要检查the version of Visual Studio you install is compatible with your version of CUDA.仅仅保持所有内容都是最新的还不够
然而,Mathworks自R2022以来一直在这一点上含糊其辞。我想您可以使用较早的版本与已测试工作的发布版本的某种组合(我们遵循该表并启动和运行Kilosort),或者尝试在较新的版本上进行一些变化。
如果您成功了,还请分享您的工具链配置,以便其他人可以从您的经验中受益。

相关问题