Ubuntu18.04 CUDA常见问题汇总

Ubuntu18.04 CUDA常见问题汇总

最近在Ubuntu下使用CUDA进行加速,遇到一些常见问题以及解决方案,在这里汇总一下,笔者也是最近接触CUDA编程,不对之处望谅解。

1.NVIDIA驱动失效

主要针对之前已经安装驱动,但是现在驱动失效的问题,报错如下:

// 命令行输入 nvidia-smi
NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver

解决方案:
第一步:nvcc -V,检查驱动和cuda

// 输出如下,证明驱动存在:
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

第二步:ls /usr/src | grep nvidia 查看已安装驱动版本信息

// 输出如下,得到驱动版本信息:
nvidia-470.103.01

第三步:依次输入以下命令

sudo apt-get install dkms
sudo dkms install -m nvidia -v 450.57

第四步:再次输入 nvidia-smi,查看GPU状态,
nvidia-smi显示结果
第五步,如果还是没用,可以尝试一下回退Ubuntu内核版本,但是之前试过,发现也没有用。可以尝试重启电脑,再试一下。

2.CUDA和C++联合编译CMakeLists.txt编写

CUDA和C++联合编译的CMakeLists.txt文件有很多种编译方式,但是主要思想都是一致的,就是将CUDA代码与最终的可执行文件链接。
第一步:找到CUDA包,并链接CUDA库

find_package(CUDA REQUIRED)
include_directories(${CUDA_INCLUDE_DIRS})
link_directories(${CUDA_LIBRARIES})

第二步:设置nvcc

// comput_70,code=sm_70; 后面数字和你的GPU有关,选择合适的数字
set(CUDA_NVCC_FLAGS -gencode arch=compute_70,code=sm_70;-G;-g)

第三步:CUDA文件 add_library

cuda_add_library(gpu src/CUDA_file.cu)

第四步:链接到可执行文件

add_executable(test test.cc)
target_link_libraries(test gpu)

这样就可以通过 test.cc 文件调用 CUDA_file.cu 函数。但是还有一个问题,如果不是可执行文件来调用 CUDA_file.cu 文件,而是其他文件,就找不到 CUDA_file.cu 的函数。这时候需要类或者命名空间帮助找到相应的函数,做法就是在 CUDA_file.cu 的函数前面加上需要调用的文件的类名。

未完待续…

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值