【问题标题】:nvcc fatal : Unsupported gpu architecture 'compute_20' while compiling matlabnvcc 致命:编译 matlab 时不支持的 gpu 架构“compute_20”
【发布时间】:2018-05-09 06:50:30
【问题描述】:

(CentOS Linux 7.3 版;cuda 9.1;GPU:Tesla P100-PCIE)

我已经在服务器上安装了 Matlab2018a,但是当我尝试这样做时: vl_compilenn('enableGpu', true); 我遇到了这个:

vl_compilenn:   CUDA: MEX config file: 
'/data1/zhangdinghuai/gitrepo/explanatoryGraph/matconvnet-1.0- 
beta24/matlab/src/config/mex_CUDA_glnxa64.xml'
Building with 'nvcc'.
nvcc fatal   : Unsupported gpu architecture 'compute_20'

Building with 'nvcc'.
Error using mex
nvcc fatal   : Unsupported gpu architecture 'compute_20'


Error in vl_compilenn>mex_compile (line 529)
mex(mopts{:}) ;

Error in vl_compilenn (line 487)
mex_compile(opts, srcs{i}, objfile, flags.mexcu) ;

我搜索了类似的问题,但没有一个有效,有人可以帮我吗?

PS:更多关于服务器的信息如下:

[zhangdinghuai@gpu01 2018a]$ lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1- 
noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-                4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.3.1611 (Core) 
Release:    7.3.1611
Codename:   Core
[zhangdinghuai@gpu01 2018a]$ cat /etc/issue
\S
Kernel \r on an \m

[zhangdinghuai@gpu01 2018a]$ cat /proc/version
Linux version 3.10.0-514.26.1.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Thu Jun 29 16:05:25 UTC 2017

【问题讨论】:

  • 您要么需要在构建系统中删除有问题的编译器选项(如下面的答案),要么使用 CUDA 8。如果可能,我会推荐前一个选项

标签: linux cuda gpu matlab-compiler


【解决方案1】:

在此处“nvcc fatal : Unsupported gpu architecture 'compute_20' while cuda 9.1+caffe+openCV 3.4.0 is installed”或Askububtu 的类似线程中,建议编辑makefile.config 并注释掉-gencode arch=compute_20

您能否也分享您正在使用的确切内核版本、具有 PCI ID 的确切 PCI 设备和驱动程序版本(如果有)。这可能会更好地了解您的环境,也可能有助于回答更多问题。

【讨论】:

  • 我在问题中添加了一些信息,我不确定这些是否是您需要的。此外,实际上我以前看过那个链接,但在我能找到的所有makefile.config 中,只有一个文件与:NVCCFLAGS_PASS = -D_FORCE_INLINES -gencode=arch=compute_30,code=\"sm_30,compute_30\" 内容相似。我尝试了几次更改或删除代码,但它们都不起作用......
【解决方案2】:

我的解决方案是修改文件 matconvnet/matlab/src/config/mex_CUDA_glnxa64.xml。

换行

`NVCCFLAGS="-D_FORCE_INLINES -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=\"sm_30,compute_30\" $NVCC_FLAGS"`

进入

`NVCCFLAGS="-D_FORCE_INLINES -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=\"sm_30,compute_30\" $NVCC_FLAGS"`

【讨论】:

  • 这两行似乎没有任何区别(复制和粘贴错误?)
猜你喜欢
  • 1970-01-01
  • 2018-07-01
  • 2021-12-20
  • 1970-01-01
  • 2017-06-01
  • 2021-02-14
  • 2011-03-04
  • 2021-02-22
  • 2014-02-07
相关资源
最近更新 更多