显卡、GPU、CUDA系列组件理解 & win10的pytorch-gpu版本配置过程记录

最近开始学习pytorch深度学习框架,CPU版本安装之后跑demo风雨无阻,可是想使用更牛的GPU进行训练时,遇到了一些不理解的地方。

在进行环境搭建的时候,一般需要安装显卡驱动、cuda、cudnn等这些常见的组件,但是并不知道他们的作用是什么,为什么要安装这些?

概念区分

  • 显卡

    输出显示图形的任务,计算机组成成分之一,市面上常见的显示芯片(GPU)主要有NVADIA和AMD两大厂商,就是我们常见的N卡和A卡。

  • GPU

    Graphic Processing Unit(图形处理器),显卡上的一块芯片,CPU主要进行串行计算,GPU进行并行计算,因此在进行深度学习时,GPU的计算效率要更高一些,训练模型的速度也是CPU的好几倍。

  • 显卡驱动

    CPU控制GPU的软件

  • 集显、核显和独显

    集成显卡,核芯显卡,和独立显卡。集成显卡在主板上,核芯显卡整合在CPU上,独立显卡作为单独的一块硬件可以随时插入主板。

  • CUDA

    NVIDIA推出的运算平台,可以理解为一种编程语言。该架构使GPU能够解决复杂的计算问题,在架构上采用了一种全新的计算体系结构来使用GPU提供的硬件资源,从而给大规模的数据计算应用提供了一种比CPU更加强大的计算能力

  • cuDNN

    cuDNN是一个NVIDIA开发的基于CUDA的深度学习GPU加速库,非必须,但是一般都安装

  • CUDA Toolkit

    CUDA Toolkit官网上列举出了一些cuda组件:

请添加图片描述

注:

  1. cuda是一个工具包,可以安装不同版本,根据自己的使用场景下载安装。显卡驱动只有一个,一般更新到最新版本可以向下兼容不同版本的cuda

  2. 运行cuda应用需要系统至少有一个可以支持cuda的gpu和与 CUDA Toolkit 兼容的驱动程序,cuda自11.0之后的版本工具包的组件拥有自己单独的版本。

  3. nvccnvidia-smi显示CUDA版本不同?

    stackoverflow上的一个解释:https://stackoverflow.com/questions/53422407/different-cuda-versions-shown-by-nvcc-and-nvidia-smi

    知乎大神的详细解释:https://zhuanlan.zhihu.com/p/91334380

    看过之后我的理解:

    CUDA有两个主要的API:runtime(运行时) APIdriver API。这两个API都有对应的CUDA版本(如9.2和10.0等)。

    • 驱动程序安装之后用于支持driver API,nvidia-smi属于这一类
    • cuda toolkit安装后用于支持runtime API,(toolkit有时会集成了驱动的安装程序),nvcc与toolkit一起安装,显示的版本是自身构建时的cuda版本,它不知道安装了什么版本的GPU driver,甚至不知道是否安装了GPU driver。

    这两个API的其他区别可以在官网找到:https://docs.nvidia.com/cuda/cuda-runtime-api/driver-vs-runtime-api.html#driver-vs-runtime-api

  4. conda安装的CUDA和NVIDIA官网下载安装的CUDA有什么区别?

    在使用pytorch过程中,发现在安装过程中会通过Anaconda安装cuda toolkit,这只会安装所依赖的动态链接库,不会安装驱动程序,安装完成后,只要系统存在与toolkit兼容的驱动,就可以运行。

    可以理解为:

    手动安装NVIDIA官网的cuda toolkit > 安装深度学习框架时anaconda安装的cuda toolkit

开始配置

GEFORCE EXPERIENCE查看驱动程序版本,先点小齿轮,就可以看见版本信息。

请添加图片描述

在官方网站上可以看到,驱动程序对应的cuda版本,最适合我的是这个红框标明的位置

请添加图片描述

碰巧的是,我的笔记本自带了显卡驱动,cmd进入路径C:\Program Files\NVIDIA Corporation\NVSMI,通过nvidia-smi可以看到

请添加图片描述

因此直接去pytorch官网找到对应版本的pytorch安装就可以了

请添加图片描述

在pycharm的Terminal中复制上述指令,漫长的等待之后,就可以使用啦!检查方法:在python console里输入下述指令

import torch

torch.cuda.is_available()

请添加图片描述
实际上,我的安装过程可以理解为,发现电脑自带驱动,项目安装pytorch(框架开发者在安装过程中整合了cuda toolkit的安装)

参考资料

核芯显卡和集成显卡的区别是什么

集成显卡

显卡、GPU和CUDA简介

GPU, CUDA,cuDNN三者的关系总结

CUDA与cuDNN

Pytorch 使用不同版本的 cuda

显卡,显卡驱动,nvcc, cuda driver,cudatoolkit,cudnn到底是什么?

面向Windows的Pytorch完整安装教程

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值