logicfool

windows 10 64 bits

matlab 2015b/2016a

MatConvNet 1.0-beta20 或者从github 下载GIT repository

CUDA GPU Computing ToolKit 7.5

cudnn-rc4/cudnn-rc5

都按照官网http://www.vlfeat.org/matconvnet/

配置好了之后,

编译命令

vl_compilenn(\'enableGpu\', true, ...
    \'cudaRoot\',\'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\',...
    \'cudaMethod\', \'nvcc\', ...
    \'enableCudnn\', true, ...
    \'cudnnRoot\', \'local\cudnn-rc4\',...
    \'verbose\',\'2\',...
    \'debug\',\'1\');

  

主要遇到两个问题

1.找不到’cudnn.h’,这个是cudnnRoot路径配置问题,官网的意思是在MatConvNet目录下新建local文件夹,之后把cudnn放到local文件夹下,打开local\cudnn-rc4应该看到三个文件夹include,bin,lib,编译时要在MatConvNet目录下进行,先输入addpath matlab加入matlab文件路径。提示,直接nvidia官网下载的cudnn解压后应该是多出一级中间目录cuda,比如cudnn\cuda\,在编译时可以把cudnn路径写成"local\cudnn-rc4\cuda",或者手动把中间目录缩减

2.编译vl_compilenn出错

原代码

if opts.enableCudnn
  flags.cc{end+1} = \'-DENABLE_CUDNN\' ;
  flags.cc{end+1} = [\'-I\' opts.cudnnIncludeDir ] ;
end

 文件路径出错,在报错信息里-I后跟cudnnIcludeDir路径没有加双引号 

修改后,一开始很盲目,看了mathworks上的回答采取认真看出错信息,仔细点应该能发现问题

if opts.enableCudnn
  flags.cc{end+1} = \'-DENABLE_CUDNN\' ;
  flags.cc{end+1} = [\'-I"\' opts.cudnnIncludeDir \'"\'] ;%http://cn.mathworks.com/matlabcentral/answers/264961-having-problem-in-matconvnet-to-compiling-the-cudnn-support "opts.cudnnIncludeDir"
end

github上最新版本已经修复这个问题

3.nvcc 编译MatConvNet\matlab\src\bits\impl\nnbilinearsampler_cudnn.cu报错 在250行左右 undefined "backward" identifier

因为在

template<typename type, bool backwardData, bool backwardGrid>
static vl::Error
forward_backward

  函数中缺少backward的定义,仿照前面的

template<typename type>
__global__ void grid_backward_kernel

  函数中的方式在函数开始部分添加

  bool backward = backwardData;//added here for cudnn compile  with undefined \'backward\' identifier

 发现backward或者backwardData只是一个bool 型的值作为一个选项 

 

4.编译MatConvNet\matlab\src\bits\impl\nnbilinearsampler_cudnn.cu出错,第24行

#warning "bilinearsampler_cudnn.cu will be disabled as it requires CUDNN v5 or higher."

 报,无效的预编译指令“warning” 

原来,gcc,C# 中有#warning指令,MSVC C\C++中没有#warning 指令,可以用#pragma message "warning ..."代替

 

分类:

技术点:

相关文章:

  • 2021-09-19
  • 2021-08-19
  • 2021-04-27
  • 2021-06-25
  • 2022-12-23
  • 2022-12-23
  • 2021-06-07
  • 2021-05-11
猜你喜欢
  • 2021-06-12
  • 2021-04-15
  • 2021-09-03
  • 2022-01-06
  • 2021-04-29
  • 2021-09-16
  • 2022-12-23
相关资源
相似解决方案