【问题标题】:Error linking CXX executables链接 CXX 可执行文件时出错
【发布时间】:2017-08-04 15:10:16
【问题描述】:

我只是在构建 caffe 时有一个奇怪的经历..

我执行了make --jobs=4,它运行良好,直到达到 92%。然后,当它链接 CXX 可执行文件 compute_image_mean、convert_image set、extract_features 和 caffe 时,它抛出了错误 ../lib/libcaffe.so.1.0.0-rc3: undefined reference to 'cudnnConvolutionBackwardData_v3'.

这里让我担心的是,我之前已经成功构建了 caffe,使用相同的安装、相同的路径、相同的设备……基本上所有内容都相同。到底发生了什么?我昨天没有碰 cudnn 并安装了 DIGITS。由于无法识别 caffe 路径,我遇到了一些安装错误(这就是我在这里并再次构建它的原因),但它对 cudnn 的要求没有问题,这证明 cudnn 没有任何问题。

除了关于如何修复它的建议之外,我想知道 caffe 是否会自动重置其路径或类似的东西。

操作系统:Ubuntu 14.04 LTS CUDA 版本:7.5

完整输出:

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

谢谢

【问题讨论】:

  • 对于 DIGITS,建议您使用 NVIDIA/caffe 而不是 BVLC/caffe。
  • @LukeYeager 是的,我知道,但是,我读到 BVLC/Caffe 也可以。此外,这似乎根本不是与数字相关的错误,因为这是使用 cmake 构建 caffe 时的错误。谢谢:)

标签: build installation cmake caffe nvidia-digits


【解决方案1】:

我在 Ubuntu 16.04、CUDA 8.0 上遇到了同样的问题。

我刚刚通过删除两个函数的_v3 来编辑文件src/caffe/layers/cudnn_conv_layer.cu,错误就消失了。

不是最合理的解决方案,但值得一试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多