问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Pytorch与CUDA版本的关系及安装指南

创作时间:
作者:
@小白创作中心

Pytorch与CUDA版本的关系及安装指南

引用
CSDN
1.
https://blog.csdn.net/m0_51371693/article/details/144521689

在深度学习开发中,Pytorch和CUDA的版本兼容性是一个常见的问题。本文将详细介绍如何查看当前环境的CUDA版本、如何使用Python脚本检查Pytorch和CUDA的兼容性,以及如何安装和管理多个CUDA版本。

Pytorch、CUDA和CUDA Toolkit区分

在开始之前,我们先来区分一下几个重要的概念:

  • CUDA(Compute Unified Device Architecture):这是NVIDIA开发的一套并行计算平台和编程模型,允许开发者利用GPU进行通用计算。
  • CUDA Toolkit:这是一个完整的开发工具包,包含了进行CUDA程序开发所需的编译器、库、头文件等。
  • Driver API CUDA:这是通过显卡驱动提供的CUDA版本,主要通过nvidia-smi命令查看。
  • Runtime API CUDA:这是通过nvcc --version命令查看的CUDA版本,主要用于编译CUDA程序。

查看当前环境常用

shell命令

# 显卡驱动信息,主要看driver API的CUDA版本,即Runtime API CUDA支持的最高版本
nvidia-smi
# 当前使用的CUDA的版本
nvcc -V
# 查看安装了几个CUDA,当前使用哪个版本的CUDA
ll /usr/local/
# 查看已安装的包的版本
conda list | grep cuda
conda list | grep torch

python脚本

import torch
print(torch.__version__) # 查看torch版本
print(torch.cuda.is_available()) # 看安装好的torch和cuda能不能用,也就是看GPU能不能用
print(torch.version.cuda) # 输出一个 cuda 版本,注意:上述输出的 cuda 的版本并不一定是 Pytorch 在实际系统上运行时使用的 cuda 版本,而是编译该 Pytorch release 版本时使用的 cuda 版本
import torch.utils
import torch.utils.cpp_extension
print(torch.utils.cpp_extension.CUDA_HOME) #输出 Pytorch 运行时使用的 cuda

Driver API CUDA(nvidia-smi)

Nvidia 官方提供安装的 CUDA Toolkit 包含了进行 CUDA 相关程序开发的编译、调试等过程相关的所有组件。driver API级别的CUDA Toolkit和Nvidia Driver的关系可以不太在意。系统的Nvidia Driver决定着系统最高可以支持什么版本的driver API cuda和cudatoolkit,Nvidia Driver是向下兼容的。

可以通过以下命令查看NVIDIA GPU 的运行状态:

nvidia-smi

Runtime API CUDA(nvcc --version)

对于 Pytorch 之类的深度学习框架而言,其在大多数需要使用 GPU 的情况中只需要使用 CUDA 的动态链接库支持程序的运行。Anaconda 在安装 Pytorch 等会使用到 CUDA 的框架时,会自动为用户安装对应版本的 Runtime API cudatoolkit。pytorch和cudatoolkit版本并不是一一对应的关系,一个pytorch版本可以有多个cudatoolkit版本与之对应。

可以查看pytorch官网对应的版本兼容性信息:https://pytorch.org/get-started/previous-versions/

pytorch选择CUDA版本的顺序

Pytorch在选择CUDA版本时,会优先考虑系统中已安装的Runtime API cudatoolkit版本。如果系统中没有安装合适的cudatoolkit版本,Pytorch会尝试使用Driver API CUDA版本。因此,在安装Pytorch时,需要确保系统中已经安装了兼容的CUDA版本。

安装需要的CUDA,多版本共存和自由切换

建议使用虚拟环境来管理不同版本的CUDA,避免版本冲突。安装CUDA时,选择runfile类型,不要选择驱动、kernel objects和nvidia-fs。如果遇到nvidia错误,可以参考以下链接进行处理:

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号