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

  1. 系统的Nvidia Driver决定着系统最高可以支持什么版本的cuda和cudatoolkit,Nvidia Driver是向下兼容的(数据可能会更新,请查看:Release Notes :: CUDA Toolkit Documentation (nvidia.com)):cuda,显卡,pytorch三者配置相关知识--学习笔记_第1张图片
  2. 使用nvidia-smi指令查看Nvidia Driver的版本:(由下图可知我的版本是470.82.00,所以应该对应11.4版本)cuda,显卡,pytorch三者配置相关知识--学习笔记_第2张图片
  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目录):cuda,显卡,pytorch三者配置相关知识--学习笔记_第3张图片
        1. 如果电脑里有多个CUDA(比如上图中我就有10.2和11.8两个版本),哪个路径在系统默认路径,哪个就是当前在使用的版本。默认路径就是输入命令后,系统去哪里找要执行的东西。
      4. 快速查看的方法:
        nvcc -V

         cuda,显卡,pytorch三者配置相关知识--学习笔记_第4张图片

    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 得到的版本为准

你可能感兴趣的:(deeplearning,python,windows,深度学习)