为 caffe 构建 GPU docker 映像时出错:不支持的 gpu 架构“compute_60”

Posted

技术标签:

【中文标题】为 caffe 构建 GPU docker 映像时出错:不支持的 gpu 架构“compute_60”【英文标题】:Error when Building GPU docker image for caffe: Unsupported gpu architecture 'compute_60' 【发布时间】:2017-05-03 22:08:25 【问题描述】:

尝试构建基于 gpucaffe docker 映像不成功。命令运行:

docker build -t caffe:gpu standalone/gpu

它运行了大约 20 分钟,包括通过 cython 将许多 numpy/scikit 脚本编译为 c 代码。然而,构建最终在 nvidia nvcc 步骤中失败:

[  1%] [  1%] Building NVCC (Device) object src/caffe/CMakeFiles/cuda_compile.dir/layers/./cuda_compile_generated_cudnn_pooling_layer.cu.o
Building NVCC (Device) object src/caffe/CMakeFiles/cuda_compile.dir/util/./cuda_compile_generated_im2col.cu.o
nvcc fatal   : Unsupported gpu architecture 'compute_60'
CMake Error at cuda_compile_generated_cudnn_pooling_layer.cu.o.cmake:206 (message):
  Error generating
  /opt/caffe/build/src/caffe/CMakeFiles/cuda_compile.dir/layers/./cuda_compile_generated_cudnn_pooling_layer.cu.o


make[2]: *** [src/caffe/CMakeFiles/cuda_compile.dir/layers/./cuda_compile_generated_cudnn_pooling_layer.cu.o] Error 1
make[2]: *** Waiting for unfinished jobs....
nvcc fatal   : Unsupported gpu architecture 'compute_60'
CMake Error at cuda_compile_generated_im2col.cu.o.cmake:206 (message):
  Error generating

/opt/caffe/build/src/caffe/CMakeFiles/cuda_compile.dir/util/./cuda_compile_generated_im2col.cu.o


make[2]: *** [src/caffe/CMakeFiles/cuda_compile.dir/util/./cuda_compile_generated_im2col.cu.o] Error 1
make[1]: *** [src/caffe/CMakeFiles/caffe.dir/all] Error 2
make: *** [all] Error 2

我在 El Capitan 上运行,并在 2013 年末的 MBPro 上运行,该 MBPro 具有 GT750m nvidia 芯片组。

注意:基于 cpucaffe docker 镜像来自他们的 github 存储库:https://github.com/BVLC/caffe docker 在我的 mac 上的 caffe/docker 目录中成功构建:

docker build -t caffe:cpu standalone/cpu

.. 大约十分钟后..

Successfully built bf71c19501e5

提到了一个不同的项目arrayfire遇到类似的错误https://github.com/arrayfire/arrayfire/issues/1535。但是,我缺乏对 BVLC/caffe/docker 命令进行故障排除的具体知识,无法尝试复制看似 cuda7.5cuda8.0 的版本控制问题。

有没有人在 mac 的 docker 容器上成功构建了 gpu 版本的 Caffe?

【问题讨论】:

在 linux x86_64 服务器上遇到同样的问题 在 Ubuntu 14.04 nvidia-docker x86_64 服务器上出现同样的问题。 在 Ubuntu 14.04 nvidia-docker x86_64 服务器上出现同样的问题 【参考方案1】:

在 Makefile.example 中,尝试注释掉 *_60 和 *_61 行(为了与 CUDA

CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
        -gencode arch=compute_20,code=sm_21 \
        -gencode arch=compute_30,code=sm_30 \
        -gencode arch=compute_35,code=sm_35 \
        -gencode arch=compute_50,code=sm_50 \
        -gencode arch=compute_52,code=sm_52 \
        #-gencode arch=compute_60,code=sm_60 \
        #-gencode arch=compute_61,code=sm_61 \
        #-gencode arch=compute_61,code=compute_61

【讨论】:

以上是关于为 caffe 构建 GPU docker 映像时出错:不支持的 gpu 架构“compute_60”的主要内容,如果未能解决你的问题,请参考以下文章

在构建 Docker 映像时要求安装 Typescript

为 Spring Boot 应用程序基于“openjdk:8-jdk-alpine”构建 docker 映像时无法运行“./mvnw clean install”

Docker在映像构建中不接受pyOBDC

当 docker-maven 插件尝试构建映像时会发生啥?

Docker入门系列之四:Docker映像

带有 Docker 的 Spring Boot 2.3。当我在同一个存储库中有多个 Spring Boot 应用程序时,我想为特定应用程序构建映像