I just had a weird experience while building caffe..
I executed make --jobs=4
and it ran all well till it reached 92%. Then while it was linking the CXX executables compute_image_mean
, convert_image set
, extract_features
, and caffe
it threw the error ../lib/libcaffe.so.1.0.0-rc3: undefined reference to 'cudnnConvolutionBackwardData_v3'.
What worries me here is that I have successfully built caffe before, with the same installation, same paths, the same device..basically the same everything. What exactly is going on? I haven't touched cudnn and installed DIGITS yesterday. I had some installation errors because of the caffe path not being recognized (that's why I'm here and building it again), but no issue in its requirement for cudnn, which proves nothing is wrong with cudnn.
Aside from advice on how to fix it, I would like to know if caffe automatically resets it's paths ovver time or something similar.
Operating system: Ubuntu 14.04 LTS CUDA version: 7.5
Full output:
Linking CXX shared library ../../lib/libcaffe.so
[ 90%] Built target caffe
Scanning dependencies of target caffe.bin
[ 91%] Building CXX object tools/CMakeFiles/caffe.bin.dir/caffe.cpp.o
Linking CXX executable caffe
../lib/libcaffe.so.1.0.0-rc3: undefined reference to `cudnnConvolutionBackwardData_v3'
../lib/libcaffe.so.1.0.0-rc3: undefined reference to `cudnnConvolutionBackwardFilter_v3'
collect2: error: ld returned 1 exit status
make[2]: *** [tools/caffe] Error 1
make[1]: *** [tools/CMakeFiles/caffe.bin.dir/all] Error 2
make: *** [all] Error 2
Thanks
I came across the same problem on Ubuntu 16.04, CUDA 8.0.
I just edited the file src/caffe/layers/cudnn_conv_layer.cu
by removing the _v3
for the two functions, and the error went away.
Not the most sound solution, but worth a try.