MatConvNet报错:The NVCC compiler ‘/usr/local/cuda-11.1/bin/nvcc‘ does not appear to be valid. 解决办法

Posted Z.Q.Feng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MatConvNet报错:The NVCC compiler ‘/usr/local/cuda-11.1/bin/nvcc‘ does not appear to be valid. 解决办法相关的知识,希望对你有一定的参考价值。

文章目录


项目场景

最近在使用 MatConvNet 编译 GPU 支持时,使用 vl_compilenn('enableGpu', true, 'cudaRoot', '/usr/local/cuda-11.1') 命令出现了如下报错:

Error using vl_compilenn>activate_nvcc (line 689)
The NVCC compiler '/usr/local/cuda-11.1/bin/nvcc' does not appear to be valid.

其中我编译的 MatConvNet 版本为 MatConvNet 1.0-beta24, MATLAB 版本为 2019b,系统为 Ubuntu21.10


解决办法

修改 vl_compilenn.m 文件,将文件中 validate_nvcc(nvccPath) 函数的第一行修改为如下内容:

[status, output] = system(sprintf('%s --version', nvccPath)) ;

就是删除掉了 %s 前后的双引号,可能是 matlab 版本问题导致。

以上是关于MatConvNet报错:The NVCC compiler ‘/usr/local/cuda-11.1/bin/nvcc‘ does not appear to be valid. 解决办法的主要内容,如果未能解决你的问题,请参考以下文章

MatConvNet编译报错:Error using mex nvcc fatal : Unsupported gpu architecture ‘compute_20‘ 解决办法

MatConvNet下载后make报错解决办法

MatConvNet编译报错:fatal error: gpu/mxGPUArray.h: No such file ordirectory 解决办法

MatConvNet使用报错:Error using vl_argparse (line 63) OPTS must be a structure 解决办法

MATLAB-matconvnet报错:Error using mex ...... error: ‘numeric_limits’ is not a member of ‘std’

MatConvNet编译报错:mex/vl_nnconv.mexa64‘ compiled with ‘-R2018a‘ and linked with ‘-R2017b‘. 解决办法