【问题标题】:Segmentation fault when compiling Darknet for GPU为 GPU 编译 Darknet 时出现分段错误
【发布时间】:2020-02-15 03:52:02
【问题描述】:

我想在支持 GPU 的 PC 上编译用于机器学习的 Darknet 框架。但是我调用 make 我会得到一个分段错误:

nvcc  -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52] -Iinclude/ -Isrc/ -DOPENCV `pkg-config --cflags opencv`  -DGPU -I/usr/local/cuda/include/ --compiler-options "-Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -fPIC -Ofast -DOPENCV -DGPU" -c ./src/convolutional_kernels.cu -o obj/convolutional_kernels.o
Segmentation fault (core dumped)
Makefile:92: recipe for target 'obj/convolutional_kernels.o' failed
make: *** [obj/convolutional_kernels.o] Error 139

nvidia-smi 给了我以下信息:

NVIDIA-SMI 418.87.01    Driver Version: 418.87.01    CUDA Version: 10.1

当我执行 nvcc --version 时,我得到:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85

CUDA 10.1 版与 Cuda 编译工具的 9.1 版不同。这可能是问题吗? NVCC 通过 apt install nvidia-cuda-toolkit

安装

【问题讨论】:

  • 显示的 nvidia-smi 版本与您安装的 CUDA 工具包的版本没有任何关系。它只显示安装的驱动程序支持什么

标签: cuda gpu nvidia nvcc darknet


【解决方案1】:

我解决了这个问题。安装 cuda 后,nvcc 的实际二进制文件位于 /usr/local/cuda/bin/nvcc。在 /usr/bin/ 中创建指向此二进制文件的符号链接解决了这个问题。

【讨论】:

    【解决方案2】:

    我只想在这里发布我的解决方案,因为我找到了真正的原因。所以发生这种情况的原因是因为它运行的二进制文件与暗网想要运行的实际二进制文件不同。至少对我来说,which nvcc 给了我/usr/bin/nvcc。您想要的实际nvcc 位于/usr/local/cuda-11.1/bin(版本号可能明显不同)。因此,您需要做的就是 (重要!)该目录添加到您的 PATH 变量中。

    export PATH=/usr/local/cuda-11.1/bin${PATH:+:${PATH}} >> ~/.bashrc

    来源:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions

    我建议您点击该链接,因为我也没有遵循更多强制性的安装后步骤。

    【讨论】:

      【解决方案3】:

      另一种方法是编辑 Makefile 并设置正确的 nvcc。 就我而言: 第 24 行替换

      NVCC=nvcc
      

      NVCC=/usr/local/cuda-11.0/bin/nvcc
      

      请注意,cuda 版本可能会有所不同。

      【讨论】:

        猜你喜欢
        • 2018-12-27
        • 2021-10-23
        • 1970-01-01
        • 1970-01-01
        • 2020-07-04
        • 2014-08-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多