I am still having the following problem when running the cuDNN sample (mnistCUDNN):
iMac:mnistCUDNN ssc$ make
clang++ -c -o mnistCUDNN.o mnistCUDNN.cpp -I. -I/usr/local/cuda/include -I/usr/local/cuda/cudnn -IFreeImage/include -IUtilNPP
mnistCUDNN.cpp:405:49: error: use of undeclared identifier 'CUDNN_ADD_SAME_C'
checkCUDNN( cudnnAddTensor(cudnnHandle, CUDNN_ADD_SAME_C,
^
./error_util.h:66:9: note: expanded from macro 'checkCUDNN'
if (status != CUDNN_STATUS_SUCCESS) { \
^
mnistCUDNN.cpp:405:49: error: use of undeclared identifier 'CUDNN_ADD_SAME_C'
./error_util.h:67:65: note: expanded from macro 'checkCUDNN'
_error << "CUDNN failure\nError: " << cudnnGetErrorString(status); \
^
mnistCUDNN.cpp:781:34: warning: '&&' within '||' [-Wlogical-op-parentheses]
...|| (argc == 2) && checkCmdLineFlag(argc, (const char **)argv, "device"))
~~ ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mnistCUDNN.cpp:781:34: note: place parentheses around the '&&' expression to
silence this warning
...|| (argc == 2) && checkCmdLineFlag(argc, (const char **)argv, "device"))
^
( )
mnistCUDNN.cpp:446:21: error: no matching function for call to
'cudnnSetFilterNdDescriptor'
checkCUDNN( cudnnSetFilterNdDescriptor(filterDesc,
^~~~~~~~~~~~~~~~~~~~~~~~~~
./error_util.h:66:9: note: expanded from macro 'checkCUDNN'
if (status != CUDNN_STATUS_SUCCESS) { \
^
mnistCUDNN.cpp:676:9: note: in instantiation of member function
'network_t<float>::convoluteForward' requested here
convoluteForward(conv1, n, c, h, w, srcData, &dstData);
^
mnistCUDNN.cpp:773:24: note: in instantiation of member function
'network_t<float>::classify_example' requested here
int i1 = mnist.classify_example(image_name, conv1, conv2, ip1, ip2);
^
/usr/local/cuda/include/cudnn.h:340:27: note: candidate function not viable:
requires 5 arguments, but 4 were provided
cudnnStatus_t CUDNNWINAPI cudnnSetFilterNdDescriptor(
^
mnistCUDNN.cpp:455:21: error: no matching function for call to
'cudnnSetConvolutionNdDescriptor'
checkCUDNN( cudnnSetConvolutionNdDescriptor(convDesc,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./error_util.h:66:9: note: expanded from macro 'checkCUDNN'
if (status != CUDNN_STATUS_SUCCESS) { \
^
/usr/local/cuda/include/cudnn.h:416:27: note: candidate function not viable:
requires 7 arguments, but 6 were provided
cudnnStatus_t CUDNNWINAPI cudnnSetConvolutionNdDescriptor(
^
mnistCUDNN.cpp:559:21: error: no matching function for call to
'cudnnSetPoolingNdDescriptor'
checkCUDNN( cudnnSetPoolingNdDescriptor(poolingDesc,
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./error_util.h:66:9: note: expanded from macro 'checkCUDNN'
if (status != CUDNN_STATUS_SUCCESS) { \
^
mnistCUDNN.cpp:677:9: note: in instantiation of member function
'network_t<float>::poolForward' requested here
poolForward(n, c, h, w, dstData, &srcData);
^
mnistCUDNN.cpp:773:24: note: in instantiation of member function
'network_t<float>::classify_example' requested here
int i1 = mnist.classify_example(image_name, conv1, conv2, ip1, ip2);
^
/usr/local/cuda/include/cudnn.h:825:27: note: candidate function not viable:
requires 7 arguments, but 6 were provided
cudnnStatus_t CUDNNWINAPI cudnnSetPoolingNdDescriptor(
^
mnistCUDNN.cpp:647:21: error: no matching function for call to
'cudnnActivationForward'
checkCUDNN( cudnnActivationForward(cudnnHandle,
^~~~~~~~~~~~~~~~~~~~~~
./error_util.h:66:9: note: expanded from macro 'checkCUDNN'
if (status != CUDNN_STATUS_SUCCESS) { \
^
mnistCUDNN.cpp:683:9: note: in instantiation of member function
'network_t<float>::activationForward' requested here
activationForward(n, c, h, w, dstData, &srcData);
^
mnistCUDNN.cpp:773:24: note: in instantiation of member function
'network_t<float>::classify_example' requested here
int i1 = mnist.classify_example(image_name, conv1, conv2, ip1, ip2);
^
/usr/local/cuda/include/cudnn.h:922:27: note: candidate function not viable: no
known conversion from 'cudnnActivationMode_t' to
'cudnnActivationDescriptor_t' (aka 'cudnnActivationStruct *') for 2nd
argument
cudnnStatus_t CUDNNWINAPI cudnnActivationForward(
^
mnistCUDNN.cpp:446:21: error: no matching function for call to
'cudnnSetFilterNdDescriptor'
checkCUDNN( cudnnSetFilterNdDescriptor(filterDesc,
^~~~~~~~~~~~~~~~~~~~~~~~~~
./error_util.h:66:9: note: expanded from macro 'checkCUDNN'
if (status != CUDNN_STATUS_SUCCESS) { \
^
mnistCUDNN.cpp:676:9: note: in instantiation of member function
'network_t<half1>::convoluteForward' requested here
convoluteForward(conv1, n, c, h, w, srcData, &dstData);
^
mnistCUDNN.cpp:840:24: note: in instantiation of member function
'network_t<half1>::classify_example' requested here
i1 = mnist.classify_example(image_path.c_str(), conv1, conv2...
^
/usr/local/cuda/include/cudnn.h:340:27: note: candidate function not viable:
requires 5 arguments, but 4 were provided
cudnnStatus_t CUDNNWINAPI cudnnSetFilterNdDescriptor(
^
mnistCUDNN.cpp:455:21: error: no matching function for call to
'cudnnSetConvolutionNdDescriptor'
checkCUDNN( cudnnSetConvolutionNdDescriptor(convDesc,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./error_util.h:66:9: note: expanded from macro 'checkCUDNN'
if (status != CUDNN_STATUS_SUCCESS) { \
^
/usr/local/cuda/include/cudnn.h:416:27: note: candidate function not viable:
requires 7 arguments, but 6 were provided
cudnnStatus_t CUDNNWINAPI cudnnSetConvolutionNdDescriptor(
^
mnistCUDNN.cpp:559:21: error: no matching function for call to
'cudnnSetPoolingNdDescriptor'
checkCUDNN( cudnnSetPoolingNdDescriptor(poolingDesc,
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./error_util.h:66:9: note: expanded from macro 'checkCUDNN'
if (status != CUDNN_STATUS_SUCCESS) { \
^
mnistCUDNN.cpp:677:9: note: in instantiation of member function
'network_t<half1>::poolForward' requested here
poolForward(n, c, h, w, dstData, &srcData);
^
mnistCUDNN.cpp:840:24: note: in instantiation of member function
'network_t<half1>::classify_example' requested here
i1 = mnist.classify_example(image_path.c_str(), conv1, conv2...
^
/usr/local/cuda/include/cudnn.h:825:27: note: candidate function not viable:
requires 7 arguments, but 6 were provided
cudnnStatus_t CUDNNWINAPI cudnnSetPoolingNdDescriptor(
^
mnistCUDNN.cpp:647:21: error: no matching function for call to
'cudnnActivationForward'
checkCUDNN( cudnnActivationForward(cudnnHandle,
^~~~~~~~~~~~~~~~~~~~~~
./error_util.h:66:9: note: expanded from macro 'checkCUDNN'
if (status != CUDNN_STATUS_SUCCESS) { \
^
mnistCUDNN.cpp:683:9: note: in instantiation of member function
'network_t<half1>::activationForward' requested here
activationForward(n, c, h, w, dstData, &srcData);
^
mnistCUDNN.cpp:840:24: note: in instantiation of member function
'network_t<half1>::classify_example' requested here
i1 = mnist.classify_example(image_path.c_str(), conv1, conv2...
^
/usr/local/cuda/include/cudnn.h:922:27: note: candidate function not viable: no
known conversion from 'cudnnActivationMode_t' to
'cudnnActivationDescriptor_t' (aka 'cudnnActivationStruct *') for 2nd
argument
cudnnStatus_t CUDNNWINAPI cudnnActivationForward(
^
1 warning and 10 errors generated.
make: *** [mnistCUDNN.o] Error 1