IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Win11配置Matconvnet错误使用 vl_compilenn>nvcc_compile和datacu.hpp undefined的问题 -> 正文阅读

[人工智能]Win11配置Matconvnet错误使用 vl_compilenn>nvcc_compile和datacu.hpp undefined的问题

初始配置环境:

? ? ? ? 电脑:联想R9000K Win11

? ? ? ? 显卡:3080

? ? ? ? Matlab 2021b

? ? ? ? Visual Studio 2017 Professional

? ? ? ? VS安装位置:D:\VisualStudio2017

? ? ? ? CUDA:cuda_11.3.1_465.89_win10

? ? ? ? CUDA安装位置:D:\CUDA\NVIDIA GPU Computing ToolKit\v11.3\

? ? ? ? Cudnn:cudnn-11.3-windows-x64-v8.2.1.32

? ? ? ? Matconvnet:matconvnet-1.0-beta25

配置过程中,关于mex设置问题均按照网上的方法解决了,但始终报如下错误:

警告: Setting the 'MW_NVCC_PATH' environment variable to 'D:\CUDA\NVIDIA GPU Computing ToolKit\v11.3\bin\nvcc' 
> 位置:vl_compilenn>activate_nvcc (第 758 行)
位置: vl_compilenn (第 299 行) 
警告: CL.EXE not found in PATH. Trying to guess out of mex setup. 
> 位置:vl_compilenn>check_clpath (第 656 行)
位置: vl_compilenn (第 429 行) 
用于 x64 的 Microsoft (R) C/C++ 优化编译器 19.16.27045 版 
版权所有(C) Microsoft Corporation。保留所有权利。 
 
用法: cl [ 选项... ] 文件名... [ /link 链接选项... ] 
Location of cl.exe (D:\VisualStudio2017\IDE\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64) successfully added to your PATH.
错误使用 vl_compilenn>nvcc_compile (第 620 行)
Command "D:\CUDA\NVIDIA GPU Computing ToolKit\v11.3\bin\nvcc" -c -o 
"E:\Matlab Projects\00 MatConvNet\matconvnet-1.0-beta25\matlab\mex\.build\bits\data.obj"
"E:\Matlab Projects\00 MatConvNet\matconvnet-1.0-beta25\matlab\src\bits\data.cu" -DENABLE_GPU -DENABLE_DOUBLE -DENABLE_CUDNN -I".local\cudnn\include" -g
-DDEBUG -D_FORCE_INLINES --std=c++11 
-I"D:\Matlab 2021b\extern\include" 
-I"D:\Matlab 2021b\toolbox\parallel\gpu\extern\include"
-gencode=arch=compute_86,code=\"sm_86,compute_86\"  
--compiler-options=/MD 
--compiler-bindir="D:\VisualStudio2017\IDE\VC\Tools\MSVC\14.16.27023\bin\Hostx64"
failed.

出错 vl_compilenn (第 490 行)
      nvcc_compile(opts, srcs{i}, objfile, flags) ;

网上找了很多参考资料均无法解决,后参考如下两篇文章,发现问题:

MatConvNet安装问题_White Jiang的博客-CSDN博客

另一篇由于从窗口太多关闭了,没找到,主要的参考价值为一条评论:Matconvnet最高支持的CUDA版本为10.2但这个信息我未能求证(有兴趣的可以求证后将信息分享一下),随后,我将CUDA和Cudnn的版本进行了更换,更新后的环境配置如下:

? ? ? ? 电脑:联想R9000K Win11

? ? ? ? 显卡:3080

? ? ? ? Matlab 2021b

? ? ? ? Visual Studio 2017 Professional

? ? ? ? VS安装位置:D:\VisualStudio2017

? ? ? ? CUDA:cuda_10.1.243_426.00_win10

? ? ? ? CUDA安装位置:D:\CUDA\v10.1\NVIDIA GPU Computing Toolkit

? ? ? ? Cudnn:cudnn-10.1-windows10-x64-v8.0.5.39

? ? ? ? Matconvnet:matconvnet-1.0-beta25

随后编译过程中出现如下问题:

错误使用 mex
'E:\Matlab Projects\00_MatConvNet\matconvnet-1.0-beta25\matlab\mex\vl_nnconv.mexw64' 使用了
'-R2018a' 进行编译并与 '-R2017b' 链接在一起。 有关详细信息,请参阅 MEX 文件使用了一个 API 进行编译并与另一个
API 链接在一起。

出错 vl_compilenn>mex_link (第 632 行)
mex(args{:}) ;

出错 vl_compilenn (第 503 行)
  mex_link(opts, objs, flags.mex_dir, flags) ;

参考如下文章:MatConvNet compiled with '-R2018a' and linked with '-R2017b'_u014292102的博客-CSDN博客

随后编译:

编译指令:?vl_compilenn('enableGpu',true);

成功编译通过。

接下来使用Cudnn编译,即设置opts.enableCudnn = true,完整设置如下:

opts.continue         = false; % false
opts.enableGpu        = true; % false
opts.enableImreadJpeg = true;
opts.enableCudnn      = true; % false
opts.enableDouble     = true;
opts.imageLibrary = [] ;
opts.imageLibraryCompileFlags = {} ;
opts.imageLibraryLinkFlags = [] ;
opts.verbose          = 0;
opts.debug            = false;
opts.cudaMethod       = []; % []
opts.cudaRoot         = 'D:\CUDA\v10.1\NVIDIA GPU Computing Toolkit' ;
opts.cudaArch         = [] ;
opts.defCudaArch      = [...
  '-gencode=arch=compute_86,code=\"sm_86,compute_86\" '];
opts.mexConfig        = '' ;
opts.mexCudaConfig    = '' ;
opts.cudnnRoot        = 'D:\CUDA\v10.1\NVIDIA GPU Computing Toolkit' ;
opts.preCompileFn       = [] ;
opts = vl_argparse(opts, varargin);

报错:

e:\matlab projects\00_matconvnet\matconvnet-1.0-beta25\matlab\src\bits\datacu.hpp(89): error: identifier "cudnnConvolutionFwdPreference_t" is undefined 
 
e:\matlab projects\00_matconvnet\matconvnet-1.0-beta25\matlab\src\bits\datacu.hpp(94): error: identifier "cudnnConvolutionBwdFilterPreference_t" is undefined 
 
e:\matlab projects\00_matconvnet\matconvnet-1.0-beta25\matlab\src\bits\datacu.hpp(99): error: identifier "cudnnConvolutionBwdDataPreference_t" is undefined 
 
e:\matlab projects\00_matconvnet\matconvnet-1.0-beta25\matlab\src\bits\datacu.hpp(141): error: identifier "cudnnConvolutionFwdPreference_t" is undefined 
 
e:\matlab projects\00_matconvnet\matconvnet-1.0-beta25\matlab\src\bits\datacu.hpp(147): error: identifier "cudnnConvolutionBwdFilterPreference_t" is undefined 
 
e:\matlab projects\00_matconvnet\matconvnet-1.0-beta25\matlab\src\bits\datacu.hpp(153): error: identifier "cudnnConvolutionBwdDataPreference_t" is undefined 
 
6 errors detected in the compilation of "C:/Users/张小祥/AppData/Local/Temp/tmpxft_00004a84_00000000-10_data.cpp1.ii". 
nvcc warning : The -std=c++11 flag is not supported with the configured host compiler. Flag will be ignored. 
data.cu 
错误使用 vl_compilenn>nvcc_compile (第 620 行)
Command "D:\CUDA\v10.1\NVIDIA GPU Computing Toolkit\bin\nvcc" -c -o "E:\Matlab
Projects\00_MatConvNet\matconvnet-1.0-beta25\matlab\mex\.build\bits\data.obj" "E:\Matlab
Projects\00_MatConvNet\matconvnet-1.0-beta25\matlab\src\bits\data.cu" -DENABLE_GPU -DENABLE_DOUBLE -DENABLE_CUDNN -O3 -DNDEBUG
-D_FORCE_INLINES --std=c++11 -I"D:\Matlab2021b\extern\include" -I"D:\Matlab2021b\toolbox\parallel\gpu\extern\include"
-gencode=arch=compute_75,code=\"sm_75,compute_75\"  --compiler-options=/MD
--compiler-bindir="D:\VisualStudio2017\IDE\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64"  failed.

出错 vl_compilenn (第 490 行)
      nvcc_compile(opts, srcs{i}, objfile, flags) ;

参考如下链接:https://ww2.mathworks.cn/matlabcentral/answers/602116-matconvnet-error-on-vl_compilenn-on-gpu

主要问题是cudnn版本的问题:

?随后参考链接:Windows 10系统下MATLAB2018b调用CUDA 10.1和NVCC_博博有个大大大的Dream-CSDN博客将cudnn的版本更换为7版本,随后问题解决,编译顺利通过。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-12-04 13:27:05  更:2021-12-04 13:28:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年10日历 -2024/10/18 20:20:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码