1.保姆级环境配置 ② pytorch+win10+pip安装+基本使用 for 2080TI GPU

本文档详细介绍了在Win10系统下,拥有2080TI GPU的环境下,如何安装PyTorch、CUDA和cuDNN,以及解决安装过程中可能遇到的问题,包括numpy版本冲突和GPU使用的基本操作,如指定GPU运行代码和清理僵尸进程。

入手2块2080TI GPU,开启安装之旅~

1.Pytorch安装

https://pytorch.org/pytorch主页选择对应的torch及torchvision版本:

pip install torch==1.7.0+cu101 torchvision==0.8.1+cu101 torchaudio===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html

这里选择的是cuda10.1对应的pytorch gpu版本。

在这里插入图片描述
如果直接如下安装,

pip install torch==2.x.0+cu118

报错:

ERROR: Invalid requirement: 'torch==2.x.0+cu118': Expected end or semicolon (after version specifier)
    torch==2.x.0+cu118

可尝试使用:

pip install torch==2.4.1+cu118  --index-url  https://download.pytorch.org/whl/cu118

通过指定官方网站链接,可以自动安装torch/torchvision以及对应的cuda环境。建议在conda环境中使用,新的cuda版本仅在这个conda环境中激活,不会替换掉原有的cuda版本。

1.1 torchvison和pytorch版本的对应关系

详见网站https://pypi.org/project/torchvision/
在这里插入图片描述

1.2 下载对应版本的torch及torchvison wheel

可在官网下载https://download.pytorch.org/whl/torch_stable.html对应的版本,并cd到下载文件进行安装。

注:linux版可参考手把手教会你在Linux服务器上安装用户级别的CUDAubuntu下安装多版本cuda及版本切换教程

2.CUDA安装

这里的CUDA安装指的是cuda runtime版本的安装。

可以在NVIDIA官网查询驱动版本对应的cuda版本。

到nvidia 官方cuda-toolkit-archive下载对应的cuda版本,并安装。

cuda-10.1版本,也可以通过官网https://developer.nvidia.com/cuda-10.1-download-archive-base?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal下载。
在这里插入图片描述
不得不重复地说,下载速度很冻人~

CUDA安装时使用了推荐的精简模式,安装过程中倒是没有报啥错误~
在这里插入图片描述

注意CUDA driver版本和runtime版本的区别:

CUDA driver版本通过nvidia-smi命令查看:
在这里插入图片描述
runtime版本通过nvcc --version查看:
在这里插入图片描述

更多内容可参考图文并茂讲解CUDA, CUDA Toolkit, CUDA Driver, CUDA Runtime, nvcc之间的关系及其版本兼容性

3.cudnn安装

在英伟达官网下载对应的cudnn版本:
在这里插入图片描述
然后将下载文件解压,并复制到对应文件夹。
CUDA默认安装位置:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1

4.安装过程中可能遇到的bug

4.1 ImportError: numpy.core.multiarray failed to import

安装完成后,输入import torch,若产生该错误,可能是由于numpy版本过高导致,可以将numpy卸载并安装较低版本,这里安装的是:

pip install numpy==1.15.0

5.基本使用

5.1 信息获取

  • cuda版本
torch.version.cuda
  • 可使用的GPU数目
torch.cuda.device_count() 
  • 是否有可用的GPU
torch.cuda.is_available()

5.2 查找并使用显存最大的GPU

# 获取每个 GPU 的剩余显存数,并存放到 tmp 文件中
os.system('nvidia-smi -q -d Memory |grep -A4 GPU|grep Free >tmp')
memory_gpu = [int(x.split()[2]) for x in open('tmp', 'r').readlines()]
os.environ['CUDA_VISIBLE_DEVICES']=str(np.argmax(memory_gpu))
#torch.cuda.set_device(np.argmax(memory_gpu)) 
os.system('rm tmp')  # 删除临时生成的 tmp 文件

5.3 执行代码时指定GPU卡

如果有多张卡,指定使用某些卡,如第0,1张GPU,可以设置如下:

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0,1"

注意,该代码应该放在import torch之前。

5.4 清理僵尸进程

GPU明明已经不再使用,但缓存仍然被占用不少,该如何处理?

查询占用内存并清理:

fuser -v /dev/nvidia*
kill -9 1793

也可以一键清理所有进程:

sudo fuser -v /dev/nvidia0 |awk '{for(i=1;i<=NF;i++)print "kill -9 " $i;}' | sudo sh

参考文献

[1] https://github.com/pytorch/pytorch
[2] https://pypi.org/project/torchvision/
[3] https://download.pytorch.org/whl/torch_stable.html
[4] 手把手教会你在Linux服务器上安装用户级别的CUDA
[5] ubuntu下安装多版本cuda及版本切换教程
[6] cuda-toolkit-archive
[7] 图文并茂讲解CUDA, CUDA Toolkit, CUDA Driver, CUDA Runtime, nvcc之间的关系及其版本兼容性
[8] 如何清理GPU的使用
[9] 清理指定GPU显卡中残留进程

NVIDIA GeForce RTX 2080 是一款基于 Turing 架构的高性能显卡,主要面向高端游戏和图形处理需求。其规格、驱动下载和性能评测如下: ### 显卡规格 NVIDIA GeForce RTX 2080 采用 Turing TU104 图形处理器,拥有 2944 个 CUDA 核心,基础频率为 1515 MHz,加速频率可达 1710 MHz。显存方面,它配备 8GB GDDR6 显存,显存频率为 14 Gbps,总线宽度为 256-bit,提供高达 448 GB/s 的带宽。此外,它支持实时光线追踪(RTX)技术,提供更真实的光影效果和更高质量的图形渲染 [^1]。 ### 驱动下载 对于 NVIDIA GeForce RTX 2080 显卡,用户可以从 NVIDIA 官方网站下载最新的驱动程序。例如,在 Ubuntu 18.04 系统中安装 RTX 2080Ti 显卡驱动的方法,可以参考 NVIDIA 提供的 CUDA 安装包,如 cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64。尽管此链接是针对 RTX 2080Ti 的,但安装流程对 RTX 2080 也有参考价值 [^2]。 ### 性能评测 在性能方面,NVIDIA GeForce RTX 2080 表现优异。它在 4K 游戏中能够提供流畅的帧率,并且在支持光线追踪的游戏和应用中表现出色。根据一些评测,RTX 2080 在性能上略逊于 RTX 3080,但在大多数游戏中仍然能够提供高画质设置下的流畅体验。此外,RTX 2080 的功耗相对较低,通常在 215W 左右,适合大多数中高端 PC 配置 [^1]。 ### 示例代码 以下是一个简单的 CUDA 程序示例,用于检测系统中的 GPU 设备信息,适用于 RTX 2080 等支持 CUDA 的显卡: ```cpp #include <cuda_runtime.h> #include <stdio.h> int main() { int deviceCount; cudaGetDeviceCount(&deviceCount); printf("Number of devices: %d\n", deviceCount); for (int i = 0; i < deviceCount; ++i) { cudaDeviceProp deviceProp; cudaGetDeviceProperties(&deviceProp, i); printf("Device %d: %s\n", i, deviceProp.name); printf("CUDA Driver Version: %d\n", deviceProp.driverVersion); printf("CUDA Runtime Version: %d\n", deviceProp.runtimeVersion); printf("Total Global Memory: %zu MB\n", deviceProp.totalGlobalMem / (1024 * 1024)); } return 0; } ``` 编译并运行此程序可以获取系统中所有 CUDA 兼容设备的详细信息,包括显卡型号、CUDA 驱动版本、CUDA 运行时版本和全局内存大小。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

外卖猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值