Caffe install problem

When I installed caffe, I encountered a problem.

CXX src/caffe/layers/cudnn_deconv_layer.cpp
CXX src/caffe/layers/cudnn_pooling_layer.cpp
CXX src/caffe/layers/cudnn_conv_layer.cpp
CXX src/caffe/layers/softmax_layer.cpp
CXX src/caffe/layers/cudnn_tanh_layer.cpp
CXX src/caffe/layers/clip_layer.cpp
CXX src/caffe/layers/scale_layer.cpp
CXX src/caffe/layers/tanh_layer.cpp
In file included from ./include/caffe/util/device_alternate.hpp:40:0,
from ./include/caffe/common.hpp:19,
from ./include/caffe/blob.hpp:8,
from ./include/caffe/layers/cudnn_deconv_layer.hpp:6,
from src/caffe/layers/cudnn_deconv_layer.cpp:5:
./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’:
./include/caffe/util/cudnn.hpp:21:10: warning: enumeration value ‘CUDNN_STATUS_VERSION_MISMATCH’ not handled in switch [-Wswitch]
switch (status) {
^
src/caffe/layers/cudnn_deconv_layer.cpp: In member function ‘virtual void caffe::CuDNNDeconvolutionLayer::Reshape(const std::vector<caffe::Blob>&, const std::vector<caffe::Blob>&)’:
src/caffe/layers/cudnn_deconv_layer.cpp:151:9: error: ‘CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT’ was not declared in this scope
CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT,
^
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^~~~~~~~~
src/caffe/layers/cudnn_deconv_layer.cpp:151:9: note: suggested alternative: ‘CUDNN_CONVOLUTION_FWD_ALGO_DIRECT’
CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT,
^
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^~~~~~~~~
src/caffe/layers/cudnn_deconv_layer.cpp:145:17: error: there are no arguments to ‘cudnnGetConvolutionForwardAlgorithm’ that depend on a template parameter, so a declaration of ‘cudnnGetConvolutionForwardAlgorithm’ must be available [-fpermissive]
CUDNN_CHECK(cudnnGetConvolutionForwardAlgorithm(
^
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^~~~~~~~~
src/caffe/layers/cudnn_deconv_layer.cpp:145:17: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
CUDNN_CHECK(cudnnGetConvolutionForwardAlgorithm(
^
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^~~~~~~~~
src/caffe/layers/cudnn_deconv_layer.cpp:193:9: error: ‘CUDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT’ was not declared in this scope
CUDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT,
^
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^~~~~~~~~
src/caffe/layers/cudnn_deconv_layer.cpp:193:9: note: suggested alternative: ‘CUDNN_CONVOLUTION_BWD_FILTER_ALGO_COUNT’
CUDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT,
^
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^~~~~~~~~
src/caffe/layers/cudnn_deconv_layer.cpp:187:17: error: there are no arguments to ‘cudnnGetConvolutionBackwardFilterAlgorithm’ that depend on a template parameter, so a declaration of ‘cudnnGetConvolutionBackwardFilterAlgorithm’ must be available [-fpermissive]
CUDNN_CHECK(cudnnGetConvolutionBackwardFilterAlgorithm(
^
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^~~~~~~~~
src/caffe/layers/cudnn_deconv_layer.cpp:214:9: error: ‘CUDNN_CONVOLUTION_BWD_DATA_SPECIFY_WORKSPACE_LIMIT’ was not declared in this scope
CUDNN_CONVOLUTION_BWD_DATA_SPECIFY_WORKSPACE_LIMIT,
^
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^~~~~~~~~
src/caffe/layers/cudnn_deconv_layer.cpp:214:9: note: suggested alternative: ‘CUDNN_CONVOLUTION_BWD_DATA_ALGO_COUNT’
CUDNN_CONVOLUTION_BWD_DATA_SPECIFY_WORKSPACE_LIMIT,
^
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^~~~~~~~~
src/caffe/layers/cudnn_deconv_layer.cpp:208:17: error: there are no arguments to ‘cudnnGetConvolutionBackwardDataAlgorithm’ that depend on a template parameter, so a declaration of ‘cudnnGetConvolutionBackwardDataAlgorithm’ must be available [-fpermissive]
CUDNN_CHECK(cudnnGetConvolutionBackwardDataAlgorithm(
^
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^~~~~~~~~
src/caffe/layers/cudnn_deconv_layer.cpp: In instantiation of ‘void caffe::CuDNNDeconvolutionLayer::Reshape(const std::vector<caffe::Blob>&, const std::vector<caffe::Blob>&) [with Dtype = float]’:
src/caffe/layers/cudnn_deconv_layer.cpp:324:1: required from here
src/caffe/layers/cudnn_deconv_layer.cpp:145:52: error: ‘cudnnGetConvolutionForwardAlgorithm’ was not declared in this scope
CUDNN_CHECK(cudnnGetConvolutionForwardAlgorithm(
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
handle_[0],
~~~~~~~~~~~
top_descs_[i],
~~~~~~~~~~~~~~
filter_desc_,
~~~~~~~~~~~~~
conv_descs_[i],
~~~~~~~~~~~~~~~
bottom_descs_[i],
~~~~~~~~~~~~~~~~~
CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes,
~~~~~~~~~~~~~~~~~~~~~~
&fwd_algo_[i]));
~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_deconv_layer.cpp:145:52: note: suggested alternative: ‘cudnnGetConvolutionForwardAlgorithm_v7’
CUDNN_CHECK(cudnnGetConvolutionForwardAlgorithm(
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
handle_[0],
~~~~~~~~~~~
top_descs_[i],
~~~~~~~~~~~~~~
filter_desc_,
~~~~~~~~~~~~~
conv_descs_[i],
~~~~~~~~~~~~~~~
bottom_descs_[i],
~~~~~~~~~~~~~~~~~
CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes,
~~~~~~~~~~~~~~~~~~~~~~
&fwd_algo_[i]));
~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_deconv_layer.cpp:187:59: error: ‘cudnnGetConvolutionBackwardFilterAlgorithm’ was not declared in this scope
CUDNN_CHECK(cudnnGetConvolutionBackwardFilterAlgorithm(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
handle_[0],
~~~~~~~~~~~
top_descs_[i],
~~~~~~~~~~~~~~
bottom_descs_[i],
~~~~~~~~~~~~~~~~~
conv_descs_[i],
~~~~~~~~~~~~~~~
filter_desc_,
~~~~~~~~~~~~~
CUDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes,
~~~~~~~~~~~~~~~~~~~~~~
&bwd_filter_algo_[i]));
~~~~~~~~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_deconv_layer.cpp:187:59: note: suggested alternative: ‘cudnnGetConvolutionBackwardFilterAlgorithm_v7’
CUDNN_CHECK(cudnnGetConvolutionBackwardFilterAlgorithm(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
handle_[0],
~~~~~~~~~~~
top_descs_[i],
~~~~~~~~~~~~~~
bottom_descs_[i],
~~~~~~~~~~~~~~~~~
conv_descs_[i],
~~~~~~~~~~~~~~~
filter_desc_,
~~~~~~~~~~~~~
CUDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes,
~~~~~~~~~~~~~~~~~~~~~~
&bwd_filter_algo_[i]));
~~~~~~~~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_deconv_layer.cpp:208:57: error: ‘cudnnGetConvolutionBackwardDataAlgorithm’ was not declared in this scope
CUDNN_CHECK(cudnnGetConvolutionBackwardDataAlgorithm(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
handle_[0],
~~~~~~~~~~~
filter_desc_,
~~~~~~~~~~~~~
bottom_descs_[i],
~~~~~~~~~~~~~~~~~
conv_descs_[i],
~~~~~~~~~~~~~~~
top_descs_[i],
~~~~~~~~~~~~~~
CUDNN_CONVOLUTION_BWD_DATA_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes,
~~~~~~~~~~~~~~~~~~~~~~
&bwd_data_algo_[i]));
~~~~~~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_deconv_layer.cpp:208:57: note: suggested alternative: ‘cudnnGetConvolutionBackwardDataAlgorithm_v7’
CUDNN_CHECK(cudnnGetConvolutionBackwardDataAlgorithm(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
handle_[0],
~~~~~~~~~~~
filter_desc_,
~~~~~~~~~~~~~
bottom_descs_[i],
~~~~~~~~~~~~~~~~~
conv_descs_[i],
~~~~~~~~~~~~~~~
top_descs_[i],
~~~~~~~~~~~~~~
CUDNN_CONVOLUTION_BWD_DATA_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes,
~~~~~~~~~~~~~~~~~~~~~~
&bwd_data_algo_[i]));
~~~~~~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_deconv_layer.cpp: In instantiation of ‘void caffe::CuDNNDeconvolutionLayer::Reshape(const std::vector<caffe::Blob>&, const std::vector<caffe::Blob>&) [with Dtype = double]’:
src/caffe/layers/cudnn_deconv_layer.cpp:324:1: required from here
src/caffe/layers/cudnn_deconv_layer.cpp:145:52: error: ‘cudnnGetConvolutionForwardAlgorithm’ was not declared in this scope
CUDNN_CHECK(cudnnGetConvolutionForwardAlgorithm(
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
handle_[0],
~~~~~~~~~~~
top_descs_[i],
~~~~~~~~~~~~~~
filter_desc_,
~~~~~~~~~~~~~
conv_descs_[i],
~~~~~~~~~~~~~~~
bottom_descs_[i],
~~~~~~~~~~~~~~~~~
CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes,
~~~~~~~~~~~~~~~~~~~~~~
&fwd_algo_[i]));
~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_deconv_layer.cpp:145:52: note: suggested alternative: ‘cudnnGetConvolutionForwardAlgorithm_v7’
CUDNN_CHECK(cudnnGetConvolutionForwardAlgorithm(
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
handle_[0],
~~~~~~~~~~~
top_descs_[i],
~~~~~~~~~~~~~~
filter_desc_,
~~~~~~~~~~~~~
conv_descs_[i],
~~~~~~~~~~~~~~~
bottom_descs_[i],
~~~~~~~~~~~~~~~~~
CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes,
~~~~~~~~~~~~~~~~~~~~~~
&fwd_algo_[i]));
~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_deconv_layer.cpp:187:59: error: ‘cudnnGetConvolutionBackwardFilterAlgorithm’ was not declared in this scope
CUDNN_CHECK(cudnnGetConvolutionBackwardFilterAlgorithm(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
handle_[0],
~~~~~~~~~~~
top_descs_[i],
~~~~~~~~~~~~~~
bottom_descs_[i],
~~~~~~~~~~~~~~~~~
conv_descs_[i],
~~~~~~~~~~~~~~~
filter_desc_,
~~~~~~~~~~~~~
CUDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes,
~~~~~~~~~~~~~~~~~~~~~~
&bwd_filter_algo_[i]));
~~~~~~~~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_deconv_layer.cpp:187:59: note: suggested alternative: ‘cudnnGetConvolutionBackwardFilterAlgorithm_v7’
CUDNN_CHECK(cudnnGetConvolutionBackwardFilterAlgorithm(
~~~~~~~~~~~~~~~~~~^
handle_[0],
~~~~~~~~~~~
top_descs_[i],
~~~~~~~~~~~~~~
bottom_descs_[i],
~~~~~~~~~~~~~~~~~
conv_descs_[i],
~~~~~~~~~~~~~~~
filter_desc_,
~~~~~~~~~~~~~
CUDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes,
~~~~~~~~~~~~~~~~~~~~~~
&bwd_filter_algo_[i]));
~~~~~~~~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_deconv_layer.cpp:208:57: error: ‘cudnnGetConvolutionBackwardDataAlgorithm’ was not declared in this scope
CUDNN_CHECK(cudnnGetConvolutionBackwardDataAlgorithm(
^
handle_[0],
~~~~~~~~~~~
filter_desc_,
~~~~~~~~~~~~~
bottom_descs_[i],
~~~~~~~~~~~~~~~~~
conv_descs_[i],
~~~~~~~~~~~~~~~
top_descs_[i],
~~~~~~~~~~~~~~
CUDNN_CONVOLUTION_BWD_DATA_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes,
~~~~~~~~~~~~~~~~~~~~~~
&bwd_data_algo_[i]));
~~~~~~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_deconv_layer.cpp:208:57: note: suggested alternative: ‘cudnnGetConvolutionBackwardDataAlgorithm_v7’
CUDNN_CHECK(cudnnGetConvolutionBackwardDataAlgorithm(
^
handle_[0],
~~~~~~~~~~~
filter_desc_,
~~~~~~~~~~~~~
bottom_descs_[i],
~~~~~~~~~~~~~~~~~
conv_descs_[i],
~~~~~~~~~~~~~~~
top_descs_[i],
~~~~~~~~~~~~~~
CUDNN_CONVOLUTION_BWD_DATA_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes,
~~~~~~~~~~~~~~~~~~~~~~
&bwd_data_algo_[i]));
~~~~~~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

In file included from ./include/caffe/util/device_alternate.hpp:40:0,
from ./include/caffe/common.hpp:19,
from ./include/caffe/blob.hpp:8,
from ./include/caffe/layers/cudnn_conv_layer.hpp:6,
from src/caffe/layers/cudnn_conv_layer.cpp:5:
./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’:
./include/caffe/util/cudnn.hpp:21:10: warning: enumeration value ‘CUDNN_STATUS_VERSION_MISMATCH’ not handled in switch [-Wswitch]
switch (status) {
^
src/caffe/layers/cudnn_conv_layer.cpp: In member function ‘virtual void caffe::CuDNNConvolutionLayer::Reshape(const std::vector<caffe::Blob>&, const std::vector<caffe::Blob>&)’:
src/caffe/layers/cudnn_conv_layer.cpp:136:7: error: ‘CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT’ was not declared in this scope
CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT,
^
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_conv_layer.cpp:136:7: note: suggested alternative: ‘CUDNN_CONVOLUTION_FWD_ALGO_DIRECT’
CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT,
^
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_conv_layer.cpp:131:17: error: there are no arguments to ‘cudnnGetConvolutionForwardAlgorithm’ that depend on a template parameter, so a declaration of ‘cudnnGetConvolutionForwardAlgorithm’ must be available [-fpermissive]
CUDNN_CHECK(cudnnGetConvolutionForwardAlgorithm(handle_[0],
^
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_conv_layer.cpp:131:17: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
CUDNN_CHECK(cudnnGetConvolutionForwardAlgorithm(handle_[0],
^
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_conv_layer.cpp:151:11: error: ‘CUDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT’ was not declared in this scope
CUDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT,
^
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_conv_layer.cpp:151:11: note: suggested alternative: ‘CUDNN_CONVOLUTION_BWD_FILTER_ALGO_COUNT’
CUDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT,
^
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_conv_layer.cpp:149:17: error: there are no arguments to ‘cudnnGetConvolutionBackwardFilterAlgorithm’ that depend on a template parameter, so a declaration of ‘cudnnGetConvolutionBackwardFilterAlgorithm’ must be available [-fpermissive]
CUDNN_CHECK(cudnnGetConvolutionBackwardFilterAlgorithm(handle_[0],
^
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_conv_layer.cpp:162:11: error: ‘CUDNN_CONVOLUTION_BWD_DATA_SPECIFY_WORKSPACE_LIMIT’ was not declared in this scope
CUDNN_CONVOLUTION_BWD_DATA_SPECIFY_WORKSPACE_LIMIT,
^
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_conv_layer.cpp:162:11: note: suggested alternative: ‘CUDNN_CONVOLUTION_BWD_DATA_ALGO_COUNT’
CUDNN_CONVOLUTION_BWD_DATA_SPECIFY_WORKSPACE_LIMIT,
^
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_conv_layer.cpp:160:17: error: there are no arguments to ‘cudnnGetConvolutionBackwardDataAlgorithm’ that depend on a template parameter, so a declaration of ‘cudnnGetConvolutionBackwardDataAlgorithm’ must be available [-fpermissive]
CUDNN_CHECK(cudnnGetConvolutionBackwardDataAlgorithm(handle_[0],
^
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_conv_layer.cpp: In instantiation of ‘void caffe::CuDNNConvolutionLayer::Reshape(const std::vector<caffe::Blob>&, const std::vector<caffe::Blob>&) [with Dtype = float]’:
src/caffe/layers/cudnn_conv_layer.cpp:266:1: required from here
src/caffe/layers/cudnn_conv_layer.cpp:131:52: error: ‘cudnnGetConvolutionForwardAlgorithm’ was not declared in this scope
CUDNN_CHECK(cudnnGetConvolutionForwardAlgorithm(handle_[0],
~~~~~~~~~~~~~~~~~^~
bottom_descs_[i],
~~~~~~~~~~~~~~~~~
filter_desc_,
~~~~~~~~~~~~~
conv_descs_[i],
~~~~~~~~~~~~~~~
top_descs_[i],
~~~~~~~~~~~~~~
CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes,
~~~~~~~~~~~~~~~~~~~~~~
&fwd_algo_[i]));
~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_conv_layer.cpp:131:52: note: suggested alternative: ‘cudnnGetConvolutionForwardAlgorithm_v7’
CUDNN_CHECK(cudnnGetConvolutionForwardAlgorithm(handle_[0],
~~~~~~~~~~~~~~~~~^~
bottom_descs_[i],
~~~~~~~~~~~~~~~~~
filter_desc_,
~~~~~~~~~~~~~
conv_descs_[i],
~~~~~~~~~~~~~~~
top_descs_[i],
~~~~~~~~~~~~~~
CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes,
~~~~~~~~~~~~~~~~~~~~~~
&fwd_algo_[i]));
~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_conv_layer.cpp:149:59: error: ‘cudnnGetConvolutionBackwardFilterAlgorithm’ was not declared in this scope
CUDNN_CHECK(cudnnGetConvolutionBackwardFilterAlgorithm(handle_[0],
~~~~~~~~~~~~~~~~~~~~~~~~^~
bottom_descs_[i], top_descs_[i], conv_descs_[i], filter_desc_,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CUDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes, &bwd_filter_algo_[i]) );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_conv_layer.cpp:149:59: note: suggested alternative: ‘cudnnGetConvolutionBackwardFilterAlgorithm_v7’
CUDNN_CHECK(cudnnGetConvolutionBackwardFilterAlgorithm(handle_[0],
~~~~~~~~~~~~~~~~~~~~~~~~^~
bottom_descs_[i], top_descs_[i], conv_descs_[i], filter_desc_,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CUDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes, &bwd_filter_algo_[i]) );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_conv_layer.cpp:160:57: error: ‘cudnnGetConvolutionBackwardDataAlgorithm’ was not declared in this scope
CUDNN_CHECK(cudnnGetConvolutionBackwardDataAlgorithm(handle_[0],
~~~~~~~~~~~~~~~~~~~~~~^~
filter_desc_, top_descs_[i], conv_descs_[i], bottom_descs_[i],
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CUDNN_CONVOLUTION_BWD_DATA_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes, &bwd_data_algo_[i]));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_conv_layer.cpp:160:57: note: suggested alternative: ‘cudnnGetConvolutionBackwardDataAlgorithm_v7’
CUDNN_CHECK(cudnnGetConvolutionBackwardDataAlgorithm(handle_[0],
~~~~~~~~~~~~~~~~~~~~~~^~
filter_desc_, top_descs_[i], conv_descs_[i], bottom_descs_[i],
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CUDNN_CONVOLUTION_BWD_DATA_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes, &bwd_data_algo_[i]));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_conv_layer.cpp: In instantiation of ‘void caffe::CuDNNConvolutionLayer::Reshape(const std::vector<caffe::Blob>&, const std::vector<caffe::Blob>&) [with Dtype = double]’:
src/caffe/layers/cudnn_conv_layer.cpp:266:1: required from here
src/caffe/layers/cudnn_conv_layer.cpp:131:52: error: ‘cudnnGetConvolutionForwardAlgorithm’ was not declared in this scope
CUDNN_CHECK(cudnnGetConvolutionForwardAlgorithm(handle_[0],
~~~~~~~~~~~~~~~~~^~
bottom_descs_[i],
~~~~~~~~~~~~~~~~~
filter_desc_,
~~~~~~~~~~~~~
conv_descs_[i],
~~~~~~~~~~~~~~~
top_descs_[i],
~~~~~~~~~~~~~~
CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes,
~~~~~~~~~~~~~~~~~~~~~~
&fwd_algo_[i]));
~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_conv_layer.cpp:131:52: note: suggested alternative: ‘cudnnGetConvolutionForwardAlgorithm_v7’
CUDNN_CHECK(cudnnGetConvolutionForwardAlgorithm(handle_[0],
~~~~~~~~~~~~~~~~~^~
bottom_descs_[i],
~~~~~~~~~~~~~~~~~
filter_desc_,
~~~~~~~~~~~~~
conv_descs_[i],
~~~~~~~~~~~~~~~
top_descs_[i],
~~~~~~~~~~~~~~
CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes,
~~~~~~~~~~~~~~~~~~~~~~
&fwd_algo_[i]));
~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_conv_layer.cpp:149:59: error: ‘cudnnGetConvolutionBackwardFilterAlgorithm’ was not declared in this scope
CUDNN_CHECK(cudnnGetConvolutionBackwardFilterAlgorithm(handle_[0],
~~~~~~~~~~~~~~~~~~~~~~~~^~
bottom_descs_[i], top_descs_[i], conv_descs_[i], filter_desc_,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CUDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes, &bwd_filter_algo_[i]) );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_conv_layer.cpp:149:59: note: suggested alternative: ‘cudnnGetConvolutionBackwardFilterAlgorithm_v7’
CUDNN_CHECK(cudnnGetConvolutionBackwardFilterAlgorithm(handle_[0],
~~~~~~~~~~~~~~~~~~~~~~~~^~
bottom_descs_[i], top_descs_[i], conv_descs_[i], filter_desc_,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CUDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes, &bwd_filter_algo_[i]) );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_conv_layer.cpp:160:57: error: ‘cudnnGetConvolutionBackwardDataAlgorithm’ was not declared in this scope
CUDNN_CHECK(cudnnGetConvolutionBackwardDataAlgorithm(handle_[0],
~~~~~~~~~~~~~~~~~~~~~~^~
filter_desc_, top_descs_[i], conv_descs_[i], bottom_descs_[i],
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CUDNN_CONVOLUTION_BWD_DATA_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes, &bwd_data_algo_[i]));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

src/caffe/layers/cudnn_conv_layer.cpp:160:57: note: suggested alternative: ‘cudnnGetConvolutionBackwardDataAlgorithm_v7’
CUDNN_CHECK(cudnnGetConvolutionBackwardDataAlgorithm(handle_[0],
~~~~~~~~~~~~~~~~~~~~~~^~
filter_desc_, top_descs_[i], conv_descs_[i], bottom_descs_[i],
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CUDNN_CONVOLUTION_BWD_DATA_SPECIFY_WORKSPACE_LIMIT,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
workspace_limit_bytes, &bwd_data_algo_[i]));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/caffe/util/cudnn.hpp:15:28: note: in definition of macro ‘CUDNN_CHECK’
cudnnStatus_t status = condition;
^

Makefile:591: recipe for target ‘.build_release/src/caffe/layers/cudnn_deconv_layer.o’ failed
make: *** [.build_release/src/caffe/layers/cudnn_deconv_layer.o] Error 1
make: *** Waiting for unfinished jobs…
Makefile:591: recipe for target ‘.build_release/src/caffe/layers/cudnn_conv_layer.o’ failed
make: *** [.build_release/src/caffe/layers/cudnn_conv_layer.o] Error 1
In file included from ./include/caffe/util/device_alternate.hpp:40:0,
from ./include/caffe/common.hpp:19,
from ./include/caffe/blob.hpp:8,
from ./include/caffe/layers/tanh_layer.hpp:6,
from src/caffe/layers/tanh_layer.cpp:6:
./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’:
./include/caffe/util/cudnn.hpp:21:10: warning: enumeration value ‘CUDNN_STATUS_VERSION_MISMATCH’ not handled in switch [-Wswitch]
switch (status) {
^
In file included from ./include/caffe/util/device_alternate.hpp:40:0,
from ./include/caffe/common.hpp:19,
from ./include/caffe/blob.hpp:8,
from ./include/caffe/layers/clip_layer.hpp:6,
from src/caffe/layers/clip_layer.cpp:4:
./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’:
./include/caffe/util/cudnn.hpp:21:10: warning: enumeration value ‘CUDNN_STATUS_VERSION_MISMATCH’ not handled in switch [-Wswitch]
switch (status) {
^
In file included from ./include/caffe/util/device_alternate.hpp:40:0,
from ./include/caffe/common.hpp:19,
from ./include/caffe/blob.hpp:8,
from ./include/caffe/layers/cudnn_tanh_layer.hpp:6,
from src/caffe/layers/cudnn_tanh_layer.cpp:4:
./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’:
./include/caffe/util/cudnn.hpp:21:10: warning: enumeration value ‘CUDNN_STATUS_VERSION_MISMATCH’ not handled in switch [-Wswitch]
switch (status) {
^
In file included from ./include/caffe/util/device_alternate.hpp:40:0,
from ./include/caffe/common.hpp:19,
from ./include/caffe/blob.hpp:8,
from ./include/caffe/layers/cudnn_pooling_layer.hpp:6,
from src/caffe/layers/cudnn_pooling_layer.cpp:4:
./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’:
./include/caffe/util/cudnn.hpp:21:10: warning: enumeration value ‘CUDNN_STATUS_VERSION_MISMATCH’ not handled in switch [-Wswitch]
switch (status) {
^
In file included from ./include/caffe/util/device_alternate.hpp:40:0,
from ./include/caffe/common.hpp:19,
from ./include/caffe/blob.hpp:8,
from ./include/caffe/layers/softmax_layer.hpp:6,
from src/caffe/layers/softmax_layer.cpp:4:
./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’:
./include/caffe/util/cudnn.hpp:21:10: warning: enumeration value ‘CUDNN_STATUS_VERSION_MISMATCH’ not handled in switch [-Wswitch]
switch (status) {
^
In file included from ./include/caffe/util/device_alternate.hpp:40:0,
from ./include/caffe/common.hpp:19,
from ./include/caffe/blob.hpp:8,
from ./include/caffe/filler.hpp:10,
from src/caffe/layers/scale_layer.cpp:4:
./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’:
./include/caffe/util/cudnn.hpp:21:10: warning: enumeration value ‘CUDNN_STATUS_VERSION_MISMATCH’ not handled in switch [-Wswitch]
switch (status) {
^

Hi,

Would you mind to share the detail of your host setting with us first?
Thanks.

Hi,

Do you apply the Caffe installation on the Jetson.
Please noticed that Caffe and DIGITs should be install on the host in a native or docker way.

The error you met comes from cuDNN v8.0 since Caffe doesn’t add v8.0 support yet.
Do you want to use Caffe on the Nano or just want to use DIGITs, which should be installed on the host?

Thanks.

I want to use DIGIT to train googlenet with caffe on my host PC.If I finish downloading the network on Jetson nano,do I need to install caffe? I thought I were afraid to be no caffe on Jetson nano. It didn’t function.

Hi,

Caffe is working on the Nano but DIGITs are not.
After training on the host, you can convert the model into TensorRT or install Caffe for inference directly.

Thanks.

AastaLLL
hi,with cuDNN v8.0, can caffe (with USE_CUDNN := 1) be installed successfully?
i installed caffe ,came across similar problem:
cudnnStatus_t status = condition;
^~~~~~~~~
src/caffe/layers/cudnn_conv_layer.cpp:149:59: error: ‘cudnnGetConvolutionBackwardFilterAlgorithm’ was not declared in this scope.

envionments are as follows:
Jetpack Version: 4.4-b186
CUDA 10.2
cuDNN 8.0.0

any advices will be appreciated.

2 Likes

Hi 282464532,

Please help to open a new topic for your issue. Thanks