cuda,显卡,pytorch三者配置相关知识--学习笔记

  1. 系统的Nvidia Driver决定着系统最高可以支持什么版本的cuda和cudatoolkit,Nvidia Driver是向下兼容的(数据可能会更新,请查看:Release Notes :: CUDA Toolkit Documentation (nvidia.com)):
  2. 使用nvidia-smi指令查看Nvidia Driver的版本:(由下图可知我的版本是470.82.00,所以应该对应11.4版本)
  3. cuda和cudatoolkit不同,前者说的是系统安装的cuda,它是由Nvidia官方提供的(/usr/local/cuda就是系统安装的cuda的软链接),这与我们要安装的pytorch几乎没有什么关系。后者是anaconda官方提供的用来build pytorch的一个工具包,它是Nvidia所提供的cuda的一个子集。
  4. pytorch相关:
    1. pytorch和cudatoolkit版本并不是一一对应的关系,一个pytorch版本可以有多个cudatoolkit版本与之对应。例如1.5.1版本的pytorch,既可以使用9.2版本的cudatoolkit,也可以使用10.2版本的cudatoolkit。
    2. 只指定pytorch版本来安装不一定是能work的,例如执行conda install pytorch=X.X.X -c pytorch时,conda会自动为你选择合适版本的cudatoolkit。但conda只能保证你的pytorch和cudatoolkit版本一定是对应的,但并不能保证pytorch可以正常使用,因为系统的Nvidia Driver有可能不支持你所安装的cudatoolkit版本。
    3. 除非你对你的Nvidia driver版本很有自信,否则,还是先查看系统Nvidia Driver的版本,并在上方图表中查询最高支持的cudatoolkit版本,然后指定cudatoolkit版本来安装pytorch吧。例如系统的Nvidia Driver版本为470.82.00,查询到最高支持cudatoolkit版本为11.4,则可以使用
      pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu114
      命令安装pytorch。
  5. 下载cuda toolkit的官网网址:https://developer.nvidia.com/cuda-downloads
  6. cuda版本: 

    1. 查看cuda版本(取决于路径中包含什么):
      1. 输出当前的默认路径,如果CUDA安装没问题的话,会看到类似cuda/bin的路径
      2. 或者直接打开配置文件查看:
        vi .bashrc
      3.  使用指令查看软连接(即真正的cuda目录):
        1. 如果电脑里有多个CUDA(比如上图中我就有10.2和11.8两个版本),哪个路径在系统默认路径,哪个就是当前在使用的版本。默认路径就是输入命令后,系统去哪里找要执行的东西。
      4. 快速查看的方法:
        nvcc -V

         

    2. nvidia-smi的cuda版本大于等于你要安装的cuda版本就不会出问题,且你的实际cuda版本以nvcc为准。
    3. 切换CUDA版本实际上就是修改路径中的CUDA目录。
    4. CUDA在大版本下向下兼容。比如装了CUDA11.5,它支持CUDA11.0-CUDA11.5的环境,但不支持CUDA10.2。所以选版本的时候直接选符合要求的大版本的最新版就行,比如10.2, 11.6。(所以虽然有序列表我的机器实际需要的是11.4,但目前实际是11.8也是可以的)
    5. 30系不支持直接使用CUDA10
    6. 更改cuda版本后nvcc -V依然显示更改前的版本解决办法:该环境变量,还是一样的,实际cuda以环境变量路径为准。
    7. nvidia-smi和nvcc --version出来的版本不一致:
      1. 这主要是因为,CUDA有两个主要的API:runtime(运行时) APIdriver API。
      2. 根据runtime cuda版本选择tf/torch/dgl等对应的cuda版本,即以nvcc -v 得到的版本为准

#---------------------------12.3 补充一些笔记------------------------------------------------------------------------

  1. nvidia官方提供的 CUDA Toolkit 是一个完整的工具安装包,其中提供了 Nvidia 驱动程序、开发 CUDA 程序相关的开发工具包等可供安装的选项。使用 Nvidia 官网提供的 CUDA Toolkit 可以安装开发 CUDA 程序所需的工具,包括 CUDA 程序的编译器、IDE、调试器等,CUDA 程序所对应的各式库文件以及它们的头文件。

  2. Nvidia 官方提供安装的 CUDA Toolkit 包含了进行 CUDA 相关程序开发的编译、调试等过程相关的所有组件。但对于 Pytorch 之类的深度学习框架而言,其在大多数需要使用 GPU 的情况中只需要使用 CUDA 的动态链接库支持程序的运行( Pytorch 本身与 CUDA 相关的部分是提前编译好的 ),就像常见的可执行程序一样,不需要重新进行编译过程,只需要其所依赖的动态链接库存在即可正常运行。

  3. 所以安装pytorch时自动安装的cudatoolkit,主要包含的是应用程序在使用 CUDA 相关的功能时所依赖的动态链接库。在安装了 cudatoolkit 后,只要系统上存在与当前的 cudatoolkit 所兼容的 Nvidia 驱动,则已经编译好的 CUDA 相关的程序就可以直接运行,而不需要安装完整的 Nvidia 官方提供的 CUDA Toolkit .

  4. 每个版本的CUDA Toolkit 都对应一个最低版本的显卡驱动版本(CUDA Driver)

  5. CUDA 有两种API,分别是运行时API和驱动API,即所谓的 Runtime API 与 Driver API。
    nvidia-smi是 CUDA Driver API(驱动API)的版本,而nvcc的结果是对应 CUDA Runtime API(运行API)的版本。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值