一、问题说明
按照以上步骤进行安装时:
sudo make
会出现如下报错:
nvcc fatal : Unsupported gpu architecture 'compute_100'
make: *** [Makefile:241:fp16_dev.o] 错误 1
查了好多资料,最后分析得到的错误原因是:CUDA 12.0工具包版本不支持计算能力 10.0 (compute_100) 的架构,及10.1,12.0的架构。
二、解决方法
修改/usr/src/cudnn_samples_v9/mnistCUDNN,该文件夹中的Makefile文件,删除不支持的架构:10.0,10.1,12.0。
在该/usr/src/cudnn_samples_v9/mnistCUDNN路径下,打开终端,由于Makefile为可读文件,需要使用sudo vim Makefile强制打开,在里面修改。
sudo vim Makefile
vim的使用操作参考该链接:
https://blog.youkuaiyun.com/m0_73972962/article/details/142536180?spm=1001.2014.3001.5506
修改的操作:
将原本的注释掉,添加修改后的:
# $(foreach sm,$(SMS),$(eval GENCODE_FLAGS += -gencode arch=compute_$(sm),code=sm_$(sm)))
$(foreach sm,$(filter-out 100 101 120,$(SMS)),$(eval GENCODE_FLAGS += -gencode arch=compute_$(sm),code=sm_$(sm)))
添加:
$(foreach sm,$(filter-out 100 101 120,$(SMS)),$(eval GENCODE_FLAGS += -gencode arch=compute_$(sm),code=sm_$(sm)))
保存修改后的,退出Makefile文件。
重新在/usr/src/cudnn_samples_v9/mnistCUDNN中进行指令:
sudo make clean
sudo make
此时不再会报错,如下图所示。
接着运行:
./mnistCUDNN
得到Test passed!,说明cudnn安装成功,问题解决。