linux 环境下PyTroch的 CUDA 版本问题

baba 发布于 2024-03-09 325 次阅读


引言

在深度学习日常中,无论是训练还是推理 cpu 的性能在大多数场景下都比不过各种加速器,其中最常用的莫过是 NVIDIA 的各类 GPU 了,而在 PyTorch 的过程中有时配好环境后却发现运作中无法调用 cuda ,也就是 torch.cuda.is_available() 输出为 False

我们所说的CUDA是什么?

在 nvidia 官方网站中是这样定义 CUDA 的

CUDA® is a parallel computing platform and programming model developed by NVIDIA for general computing on graphical processing units (GPUs). With CUDA, developers are able to dramatically speed up computing applications by harnessing the power of GPUs.

CUDA® 是 NVIDIA 开发的并行计算平台和编程模型,用于图形处理单元 (GPU) 上的通用计算。借助 CUDA,开发人员能够利用 GPU 的强大功能来显着加快计算应用程序的速度。

而我们平时所说的 CUDA 版本主要是两个东西分别的 CUDA Toolkit ( CUDA 开发工具包)与 CUDA driver( CUDA 驱动 )

CUDA driver 一般来说是在 GPU 驱动安装时可选的,不需要额外下载,用于提供计算相关的硬件 api 接口给使用 CUDA 开发的软件调用

而 CUDA Toolkit 则是NVIDIA 提供给 CUDA 应用开发者的开发工具包

一般来说 CUDA driver 是向下兼容的高版本的 CUDA driver 能兼容低版本 CUDA Toolkit 开发的软件,因此我们一般安装尽量高版本的 CUDA driver ,对于 PyTorch 来说 兼容的 CUDA driver 是必备的 。CUDA driver 的版本必须高于 PyTorch 构建时所用的 CUDA Toolkit 版本。而对于只使用 PyTorch python 层面api的开发这来说 CUDA Toolkit 是可选的,PyTorch 二进制文件已经附带了自己所需的 CUDA 依赖项了。

what is CUDA

原因分析:

一般来说 torch.cuda.is_available() 输出为 False ,一般都是以下原因:

PyTorch 安装的是 cpu 版本,可通过查看 pip list 发现并通过重新安装 gpu 版本解决。


`

此作者没有提供个人介绍
最后更新于 2024-03-09