MatConvNet编译报错:fatal error: gpu/mxGPUArray.h: No such file ordirectory 解决办法
Posted Z.Q.Feng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MatConvNet编译报错:fatal error: gpu/mxGPUArray.h: No such file ordirectory 解决办法相关的知识,希望对你有一定的参考价值。
文章目录
项目场景
最近在使用 MatConvNet
编译 GPU 支持时,使用 vl_compilenn('enableGpu', true, 'cudaRoot', '/usr/local/cuda-11.1')
命令出现了如下报错:
[]/matconvnet-1.0-beta24/matlab/src/bits/datamex.hpp:19:28: ...
fatal error: gpu/mxGPUArray.h: No such file or directory
#include "gpu/mxGPUArray.h"
^
其中我编译的 MatConvNet 版本为 MatConvNet 1.0-beta24
, MATLAB 版本为 R2019b
,系统为 Ubuntu21.10
。
解决办法
MATLAB版本过高导致,首先找到你系统的 gpu/mxGPUArray.h
文件所在的目录,这里我的 MATLAB 安装目录为 /usr/local/Polyspace/R2019b
:
cd /usr/local/Polyspace/R2019b
find -name mxGPUArray.h
查找到目录如下:/usr/local/Polyspace/R2019b/toolbox/parallel/gpu/extern/include/gpu/mxGPUArray.h
接着修改你的 matconvnet-1.0-beta24/matlab/src/bits/datamex.hpp
文件,也就是引用 gpu/mxGPUArray.h
的头文件:
vim matconvnet-1.0-beta24/matlab/src/bits/datamex.hpp
修改 include
内容如下:
#include "/usr/local/Polyspace/R2019b/toolbox/parallel/gpu/extern/include/gpu/mxGPUArray.h"
输入 :wq
保存并退出,问题解决。
以上是关于MatConvNet编译报错:fatal error: gpu/mxGPUArray.h: No such file ordirectory 解决办法的主要内容,如果未能解决你的问题,请参考以下文章
MatConvNet编译报错:Error using mex nvcc fatal : Unsupported gpu architecture ‘compute_20‘ 解决办法
MatConvNet编译报错:mex/vl_nnconv.mexa64‘ compiled with ‘-R2018a‘ and linked with ‘-R2017b‘. 解决办法
MATLAB-matconvnet报错:Error using mex ...... error: ‘numeric_limits’ is not a member of ‘std’
MatConvNet报错:The NVCC compiler ‘/usr/local/cuda-11.1/bin/nvcc‘ does not appear to be valid. 解决办法