nvcc fatal: значение 'sm_20' не определено для опции 'архитектура gpu'

Может ли кто-нибудь помочь мне, пожалуйста? Заранее спасибо.

Я пытался создать Makefile для своей программы (обычно я делал это хорошо на Ubuntu 16.04 с CUDA 7.5), но на этот раз у меня возникла следующая проблема:

nvcc -O3 -m64 -arch=sm_20 -I/usr/local/include -I/usr/local/cuda/include -I/usr/include/gdal -c src/cuda_kde.cu -o obj/cuda_kde.o
nvcc fatal   : Value 'sm_20' is not defined for option 'gpu-architecture'
Makefile:91: recipe for target 'obj/cuda_kde.o' failed
make: *** [obj/cuda_kde.o] Error 1"

Некоторые говорили, что я должен попытаться изменить ваш -arch = sm_20 до этого значения или просто измените свое значение до 30 или выше, но я не знаю, как это сделать. Может ли кто-нибудь помочь мне, пожалуйста? Спасибо!

Моя компьютерная система работает следующим образом.

$ uname -a
Linux fankao 4.18.0-25-generic #26~18.04.1-Ubuntu SMP Thu Jun 27 07:28:31 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

$ lsb_release -crid
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:    18.04
Codename:   bionic

$ dpkg -l | grep -i nvidia
ii  libnvidia-cfg1-418:amd64                   418.56-0ubuntu0~gpu18.04.1                   amd64        NVIDIA binary OpenGL/GLX configuration library
ii  libnvidia-common-418                       418.56-0ubuntu0~gpu18.04.1                   all          Shared files used by the NVIDIA libraries
rc  libnvidia-compute-390:amd64                390.116-0ubuntu0.18.04.1                     amd64        NVIDIA libcompute package
rc  libnvidia-compute-390:i386                 390.116-0ubuntu0.18.04.1                     i386         NVIDIA libcompute package
ii  libnvidia-compute-418:amd64                418.56-0ubuntu0~gpu18.04.1                   amd64        NVIDIA libcompute package
ii  libnvidia-compute-418:i386                 418.56-0ubuntu0~gpu18.04.1                   i386         NVIDIA libcompute package
rc  libnvidia-compute-430:amd64                430.26-0ubuntu0~gpu18.04.1                   amd64        NVIDIA libcompute package
ii  libnvidia-decode-418:amd64                 418.56-0ubuntu0~gpu18.04.1                   amd64        NVIDIA Video Decoding runtime libraries
ii  libnvidia-decode-418:i386                  418.56-0ubuntu0~gpu18.04.1                   i386         NVIDIA Video Decoding runtime libraries
ii  libnvidia-encode-418:amd64                 418.56-0ubuntu0~gpu18.04.1                   amd64        NVENC Video Encoding runtime library
ii  libnvidia-encode-418:i386                  418.56-0ubuntu0~gpu18.04.1                   i386         NVENC Video Encoding runtime library
ii  libnvidia-fbc1-418:amd64                   418.56-0ubuntu0~gpu18.04.1                   amd64        NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-fbc1-418:i386                    418.56-0ubuntu0~gpu18.04.1                   i386         NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-gl-418:amd64                     418.56-0ubuntu0~gpu18.04.1                   amd64        NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  libnvidia-gl-418:i386                      418.56-0ubuntu0~gpu18.04.1                   i386         NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  libnvidia-ifr1-418:amd64                   418.56-0ubuntu0~gpu18.04.1                   amd64        NVIDIA OpenGL-based Inband Frame Readback runtime library
ii  libnvidia-ifr1-418:i386                    418.56-0ubuntu0~gpu18.04.1                   i386         NVIDIA OpenGL-based Inband Frame Readback runtime library
ii  nvidia-compute-utils-418                   418.56-0ubuntu0~gpu18.04.1                   amd64        NVIDIA compute utilities
ii  nvidia-dkms-418                            418.56-0ubuntu0~gpu18.04.1                   amd64        NVIDIA DKMS package
ii  nvidia-driver-418                          418.56-0ubuntu0~gpu18.04.1                   amd64        NVIDIA driver metapackage
ii  nvidia-kernel-common-418                   418.56-0ubuntu0~gpu18.04.1                   amd64        Shared files used with the kernel module
ii  nvidia-kernel-source-418                   418.56-0ubuntu0~gpu18.04.1                   amd64        NVIDIA kernel source package
ii  nvidia-prime                               0.8.8.2                                      all          Tools to enable NVIDIA's Prime
ii  nvidia-settings                            418.56-0ubuntu0~gpu18.04.1                   amd64        Tool for configuring the NVIDIA graphics driver
ii  nvidia-utils-418                           418.56-0ubuntu0~gpu18.04.1                   amd64        NVIDIA driver support binaries
ii  xserver-xorg-video-nvidia-418              418.56-0ubuntu0~gpu18.04.1                   amd64        NVIDIA binary Xorg driver

$ sudo lshw -C display
  *-display                 
       description: VGA compatible controller
       product: GP107 [GeForce GTX 1050]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:139 memory:a3000000-a3ffffff memory:90000000-9fffffff memory:a0000000-a1ffffff ioport:3000(size=128) memory:a4000000-a407ffff
  *-display
       description: VGA compatible controller
       product: Intel Corporation
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 00
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:138 memory:a2000000-a2ffffff memory:80000000-8fffffff ioport:4000(size=64) memory:c0000-dffff
0
задан 17 July 2019 в 05:01

1 ответ

Рассмотрите установку nvcc с

sudo apt-get install nvidia-cuda-toolkit

вместо этого из Соре.

Но с чем-то вроде предположения:

Если это все корректно, посмотрите строку 55 в Вашем CMakeLists.txt:

IF (CUDA_FOUND)
   LIST(APPEND CUDA_NVCC_FLAGS "-arch=sm_XX")

Это перечислит значение, где это говорит XX.

Попытайтесь изменить свой-arch=sm_20 на то значение или просто изменить Ваше значение к 30 или выше.

1
ответ дан 24 October 2019 в 00:10

Другие вопросы по тегам:

Похожие вопросы: