cuda的安装与配置

1. cuda 与 nvcc 的配置

nvcc:NVIDIA Cuda compiler driver,简单的说,就是CUDA开发环境下的C语言编译器

  • 查看可用cuda 版本

    cd /usr/local 
    ls 
    

    可以看到装有的cuda 版本

  • 版本配置
    vim ~/.bashrc 通过加入下面的语句(其中cuda-10.1 为对应可用的任意版本)

    export PATH="/usr/local/cuda-10.1/bin:$PATH"
    export LD_LIBRARY_PATH="/usr/local/cuda-10.1/lib64:$LD_LIBRARY_PATH"
    

    然后 执行 source ~./bashrc 激活
    来指定采用特定的cuda版本

  • 查看当前使用的版本

    nvcc -V # 当然可能如果没有装nvcc 查看软件就可能看不了
    正常来说就是配置的那个版本

2. 安装pytorch

cudatoolkit 的版本就根据nvcc 那个版(~/.bashrc 配置的版本) 选择就行
查看torch 对应的cuda 版本

conda install pytorch==1.4.0 torchvision==0.5.0 cudatoolkit=10.1
print(torch.version.cuda)

3.cuda 显示的版本

nvidia-smi 看到的cuda 版本 和 nvcc 看到的cuda 版本不一样问题
CUDA有两种API:

  • 一个是驱动API(Driver Version),依赖NVIDIA驱动,由nvidia-smi查看。
  • 另一个是运行API(Runtime Version)是软件运行所需要的。

一般驱动API版本>=运行API版本即可。

4.安装cuda toolkit

  • 查看系统版本
    uname -a 显示linux的内核版本和系统是多少位的 x86_64 表示是64位的
    cat /proc/version

  • 选择对应的安装版本和安装指令
    网址在这里
    在这里插入图片描述
    这里有超多查看系统信息指令。
    后续步骤参考这里

5. Detectron2 运行问题

运行前通过 下面指令查看环境

python -m detectron2.utils.collect_env 

注意要保证几个一致性

--------------------------------------------------------------------------------------------
sys.platform            linux
Python                  3.7.10 | packaged by conda-forge | (default, Feb 19 2021, 16:07:37) [GCC 9.3.0]
numpy                   1.19.2
detectron2              0.3 @/home/hanjun/solicucu/GeneralNet/detectron2
Compiler                GCC 5.4
CUDA compiler           CUDA 10.2
detectron2 arch flags   6.1
DETECTRON2_ENV_MODULE   <not set>
PyTorch                 1.5.0 @/home/hanjun/anaconda3/envs/torch15/lib/python3.7/site-packages/torch
PyTorch debug build     False
GPU available           True
GPU 0                   GeForce RTX 2080 Ti (arch=7.5)
CUDA_HOME               /usr/local/cuda-10.2
Pillow                  8.1.2
torchvision             0.6.0a0+82fd1c8 @/home/hanjun/anaconda3/envs/torch15/lib/python3.7/site-packages/torchvision
torchvision arch flags  3.5, 5.0, 6.0, 7.0, 7.5
fvcore                  0.1.5.post20210415
cv2                     Not found
----------------------  

1.CUDA complier 和 CUDA_HOME 已经torch.version.cuda 的版本都是一致的,比如上面10.2

然后就可以执行

python setup.py build develop

构建完detectron2 后,运行代码,若出现下面的问题

问题:CUDA error: no kernel image is available for execution on the device

执行:python -m detectron2.utils.collect_env ,检查下面信息
# 注意detectron2 arch flags, 表示采用不同的架构编译的
# 特别的 GTX1080 or GTX1080Ti 都是 arch=6.1
detectron2 arch flags   6.1
# 但是 GTX2080 arch=7.5
GPU 0                   GeForce RTX 2080 Ti (arch=7.5)

所以,这两个是不兼容的,即在GTX1080 编译的代码 在RTX2080 是运行不了的,会报上面所说的问题。

所以RTX1080编译的只能在RTX1080上面或者arch=6.1的其他机器跑
所以RTX2080编译的只能在RTX2080上面或者arch=7.5的其他机器跑

这里可以查不同GPU的arch版本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值