vlfeat / matconvnet

MatConvNet: CNNs for MATLAB
Other
1.4k stars 752 forks source link

issue with compile Cudnn support(CUDA 8.0+cudnn v4+ matconvnet-1.0-beta18) #1205

Open tonystormhhh opened 5 years ago

tonystormhhh commented 5 years ago

Environment: Ubantu16.04&CUDA 8.0&MATLAB 2015 b& ,I have compiled matconvnet-1.0-beta18 with GPU and got passed with it. But when I try to compile with CuDnn v4 support using vl_compilenn('enableGpu', true, ... 'cudaRoot', '/usr/local/cuda-8.0', ... 'cudaMethod', 'nvcc', ... 'enableCudnn', true, ... 'cudnnRoot', '~/Comparison/Mask-CNN-code/code/matconvnet-1.0-beta18/local/cuda') ; I got the errors as below: home/haichao/Comparison/Mask-CNN-code/code/matconvnet-1.0-beta18/matlab/src/bits/impl/nnconv_cudnn.cu(112): error: argument of type "int" is incompatible with parameter of type "cudnnTensorFormat_t" detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::forward(vl::Context &, vl::Tensor, double, vl::Tensor, double, vl::Tensor, vl::Tensor, int, int, int, int, int, int) [with dataType=vl::vlTypeFloat]" (539): here

/home/haichao/Comparison/Mask-CNN-code/code/matconvnet-1.0-beta18/matlab/src/bits/impl/nnconv_cudnn.cu(112): error: too few arguments in function call detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::forward(vl::Context &, vl::Tensor, double, vl::Tensor, double, vl::Tensor, vl::Tensor, int, int, int, int, int, int) [with dataType=vl::vlTypeFloat]" (539): here

/home/haichao/Comparison/Mask-CNN-code/code/matconvnet-1.0-beta18/matlab/src/bits/impl/nnconv_cudnn.cu(313): error: argument of type "ptrdiff_t" is incompatible with parameter of type "cudnnTensorFormat_t" detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int) [with dataType=vl::vlTypeFloat]" (539): here

/home/haichao/Comparison/Mask-CNN-code/code/matconvnet-1.0-beta18/matlab/src/bits/impl/nnconv_cudnn.cu(313): error: too few arguments in function call detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int) [with dataType=vl::vlTypeFloat]" (539): here

/home/haichao/Comparison/Mask-CNN-code/code/matconvnet-1.0-beta18/matlab/src/bits/impl/nnconv_cudnn.cu(340): error: argument of type "ptrdiff_t" is incompatible with parameter of type "cudnnTensorFormat_t" detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int) [with dataType=vl::vlTypeFloat]" (539): here

/home/haichao/Comparison/Mask-CNN-code/code/matconvnet-1.0-beta18/matlab/src/bits/impl/nnconv_cudnn.cu(340): error: too few arguments in function call detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int) [with dataType=vl::vlTypeFloat]" (539): here

/home/haichao/Comparison/Mask-CNN-code/code/matconvnet-1.0-beta18/matlab/src/bits/impl/nnconv_cudnn.cu(112): error: argument of type "int" is incompatible with parameter of type "cudnnTensorFormat_t" detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::forward(vl::Context &, vl::Tensor, double, vl::Tensor, double, vl::Tensor, vl::Tensor, int, int, int, int, int, int) [with dataType=vl::vlTypeDouble]" (542): here

/home/haichao/Comparison/Mask-CNN-code/code/matconvnet-1.0-beta18/matlab/src/bits/impl/nnconv_cudnn.cu(112): error: too few arguments in function call detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::forward(vl::Context &, vl::Tensor, double, vl::Tensor, double, vl::Tensor, vl::Tensor, int, int, int, int, int, int) [with dataType=vl::vlTypeDouble]" (542): here

/home/haichao/Comparison/Mask-CNN-code/code/matconvnet-1.0-beta18/matlab/src/bits/impl/nnconv_cudnn.cu(313): error: argument of type "ptrdiff_t" is incompatible with parameter of type "cudnnTensorFormat_t" detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int) [with dataType=vl::vlTypeDouble]" (542): here

/home/haichao/Comparison/Mask-CNN-code/code/matconvnet-1.0-beta18/matlab/src/bits/impl/nnconv_cudnn.cu(313): error: too few arguments in function call detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int) [with dataType=vl::vlTypeDouble]" (542): here

/home/haichao/Comparison/Mask-CNN-code/code/matconvnet-1.0-beta18/matlab/src/bits/impl/nnconv_cudnn.cu(340): error: argument of type "ptrdiff_t" is incompatible with parameter of type "cudnnTensorFormat_t" detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int) [with dataType=vl::vlTypeDouble]" (542): here

/home/haichao/Comparison/Mask-CNN-code/code/matconvnet-1.0-beta18/matlab/src/bits/impl/nnconv_cudnn.cu(340): error: too few arguments in function call detected during instantiation of "vl::Error vl::impl::nnconv_cudnn::backward(vl::Context &, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, vl::Tensor, int, int, int, int, int, int) [with dataType=vl::vlTypeDouble]" (542): here

12 errors detected in the compilation of "/tmp/tmpxft_00004d69_00000000-7_nnconv_cudnn.cpp1.ii". Error using vl_compilenn>nvcc_compile (line 489) Command "/usr/local/cuda-8.0/bin/nvcc" -c "/home/haichao/Comparison/Mask-CNN-code/code/matconvnet-1.0-beta18/matlab/src/bits/impl/nnconv_cudnn.cu" -DNDEBUG -DENABLE_GPU -DENABLE_CUDNN -I~/Comparison/Mask-CNN-code/code/matconvnet-1.0-beta18/local/cuda/include -DENABLE_DOUBLE -I"/data/zj/matlab/R2015b/extern/include" -I"/data/zj/matlab/R2015b/toolbox/distcomp/gpu/extern/include" -Xcompiler -fPIC -gencode=arch=compute_61,code=\"sm_61,compute_61\" -o "/home/haichao/Comparison/Mask-CNN-code/code/matconvnet-1.0-beta18/matlab/mex/.build/bits/impl/nnconv_cudnn.o" failed.

Error in vl_compilenn (line 434) nvcc_compile(opts, srcs{i}, objfile, flags.nvcc) ;

**I have tried the following fix but there is no change with it: 1.I have used cudnn v5.1 and got no change 2.I tried [https://github.com/vlfeat/matconvnet/issues/937] as @DAA233 said but still no good 3.I added a parameter CUDNN_DATA_DOUBLE in the function CHECK() of nnconv_cudnn.cu but still no good

  1. I heard Cudnn v5 is OK in beta19 so I chose Cudnn v4 instead but no good**

Is there any one could help me ? thanks!!!!!!!