5060显卡驱动PyCUDA开发环境搭建

5060显卡驱动PyCUDA开发环境搭建

本文手把手讲解了RTX5060ti显卡从上手尝试折腾,到在最新Ubuntu LTS版本上CUDA开发环境搭建成功的详细流程。

1.1 开机后Ubuntu2404LTS不识别显卡

1.1.1 显卡硬件规格要求

笔者下单的铭瑄电竞之心,安装规格是PCIe 5.0 x16,全长插槽,普通入门主板PCIe4.0都可以使用。电源建议650W及以上,应该是主机整体供电的要求,5060显卡本身只有180W的额定功率,在满载情况下有双倍冗余已经足够,主机其他设备加起来也有300W的功率。这样的要求大部分入门主机可以满足。

另外,经测试普通oculink协议的550W显卡坞,连接笔记本的M2转oculink接口后完美使用,驱动安装后工作正常如图所示。

1.1.2 最新系统默认不识别显卡

由于RTX5060ti是在Ubuntu2404LTS后面出的,所以不识别也可以理解。

PS:官方列出的Ubuntu源中的英伟达显卡驱动都会无法安装,安装后会白屏黑屏进不去系统
https://documentation.ubuntu.com/server/how-to/graphics/install-nvidia-drivers/index.html

  • 使用系统自带驱动版本检测会失败

    $ sudo nvidia-detector
    [sudo] password for roysue:
    None

正常情况下会返回APT源中支持该硬件的驱动文件名,如nvidia-driver-550。使用sudo ubuntu-drivers list也会返回空,没有推荐的驱动程序。

  • 查看显卡硬件参数

查看PCI设备,显示英伟达公司产品,没有具体型号,只有代号2d04。

复制代码
$ sudo lspci |grep -i nvidia
03:00.0 VGA compatible controller: NVIDIA Corporation Device 2d04 (rev a1)
03:00.1 Audio device: NVIDIA Corporation Device 22eb (rev a1)

查看显示设备,还是只有英伟达标识。

复制代码
$ sudo lshw -c display
  *-display                 
       description: VGA compatible controller
       product: NVIDIA Corporation
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:03:00.0
       logical name: /dev/fb0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix vga_controller cap_list fb
       configuration: depth=32 latency=0 mode=1920x1080 visual=truecolor xres=1920 yres=1080
       resources: iomemory:40-3f iomemory:40-3f memory:d0000000-d3ffffff memory:460000000-46fffffff memory:480000000-481ffffff ioport:3000(size=128) memory:d4080000-d40fffff memory:d4040000-d407ffff memory:470000000-47fffffff memory:482000000-483ffffff

未来的Ubuntu26或28就会默认支持5060了,好比现在的Ubuntu24默认支持3060显卡一样。

1.1.3 尝试安装系统源里驱动结果白屏

尝试安装系统源中最新驱动nvidia-driver-570

复制代码
$ sudo apt update
$ sudo apt list |grep nvidia-driver

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

nvidia-driver-470/noble-updates,noble-security 470.256.02-0ubuntu0.24.04.1 amd64
nvidia-driver-510/noble 525.147.05-0ubuntu2 amd64
nvidia-driver-515/noble 525.147.05-0ubuntu2 amd64
nvidia-driver-520/noble 525.147.05-0ubuntu2 amd64
nvidia-driver-530/noble-updates,noble-security 535.230.02-0ubuntu0.24.04.1 amd64
nvidia-driver-535/noble-updates,noble-security 535.230.02-0ubuntu0.24.04.1 amd64
nvidia-driver-550/noble-updates,noble-security 550.144.03-0ubuntu0.24.04.1 amd64
nvidia-driver-570/noble-updates,noble-security 570.133.07-0ubuntu0.24.04.1 amd64

$ sudo apt install -y nvidia-driver-570

安装完成后重启进系统白屏,只能再ssh进入后删除已经安装的英伟达驱动:

复制代码
sudo apt purge nvidia*
sudo apt purge libnvidia*

重启后成功回到没有驱动的状态进入系统。

1.2 官方驱动安装及PyCUDA安装

1.2.1 英伟达官方驱动下载安装

驱动搜索地址:https://www.nvidia.cn/geforce/drivers/,如下所示填写。

搜索结果有575的BETA版和570的正式版,575搭载的CUDA12.9,570是12.8,这里选择最新的575下载安装。

正式安装前先装下编译工具,否则后面可能报如图所示缺失cc、make等编译工具的报错。

复制代码
$ sudo apt install -y build-essential

给运行权限后,以root权限安装:

复制代码
$ sudo chmod 777 NVIDIA-Linux-x86_64-575.51.02.run
$ sudo ./NVIDIA-Linux-x86_64-575.51.02.run

第一个选择是内核模块种类用英伟达授权还是MIT/GPL授权,这里踩了大坑,选择前者会一直失败,内核模块无法加载,即使后续安装了英伟达的签名,关闭了BIOS里的Secure Boot也无济于事,选择后者MIT/GPL则一次通过;当然也有可能是BETA版本的问题,选择正式版驱动可能不会遇到此问题。

安装程序还会提示Ubuntu软件仓库里有系统官方维护的驱动程序要不要使用,前文已经试过了会失败,所以肯定不用,选择Continue installation。

这个提示是系统里已经没有地方放32位驱动了,32位的显卡驱动文件不会被编译产生。

正常编译安装成功后会有如下提示。

建议重启后再进入系统,可以运行nvidia-smi命令来查看5060ti显卡的实时信息了。

1.2.2 CUDA toolkit 12.9 和driver安装

下载地址:https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=24.04&target_type=deb_local

依次勾选Linux、x86_64、Ubuntu、24.04、deb(local)之后,会出现详细的安装命令。

复制代码
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-ubuntu2404.pinsudo 
$ mv cuda-ubuntu2404.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ wget https://developer.download.nvidia.com/compute/cuda/12.9.0/local_installers/cuda-repo-ubuntu2404-12-9-local_12.9.0-575.51.03-1_amd64.deb
$ sudo dpkg -i cuda-repo-ubuntu2404-12-9-local_12.9.0-575.51.03-1_amd64.deb
$ sudo cp /var/cuda-repo-ubuntu2404-12-9-local/cuda-*-keyring.gpg /usr/share/keyrings/sudo apt-get update
$ sudo apt-get -y install cuda-toolkit-12-9

按照顺序安装即可,注意deb文件有四五个G,需要下载较长时间。

安装完成后重启,再安装最后的CUDA driver即可,前文选择的开源MIT/GPL授权的这里就选nvidia-open:

复制代码
sudo apt-get install -y nvidia-open

装完成CUDA驱动后,必须重启进BIOS,关闭Secure Boot功能,再开机,否则驱动的内核模块可能会无法加载导致驱动加载失败。

再运行nvidia-smi中的型号信息Geforce RTX 5060 Ti都变成了NVIDIA Graphics Device,可能是BETA测试版导致的。

1.2.3 PyCUDA虚拟环境安装运行

CUDA12.9安装完成后,并没有自动设置环境变量,导致后续安装PyCUDA编译时会报找不到CUDA.h的错误,此时必须手动设置下。

复制代码
$ nano ~/.bashrc

文件末尾添加:

复制代码
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

退出后source ~/.bashrc立即生效。可以通过nvcc --version命令来判断生效与否,有编译器版本输出即环境变量添加生效。

再安装系统推荐的虚拟环境工具:

复制代码
$ sudo apt install -y python3-pip python3.12-venv

新建文件夹01,在文件夹中创建虚拟环境:

复制代码
$ mkdir 01 && cd 01
$ python3 -m venv ./

此时在01文件夹中创建了与系统隔离的虚拟Python环境,使用虚拟环境中的pip来安装PyCUDA:

复制代码
$ ./bin/pip install pycuda

此时打开htop可以看到编译的进程CPU占用100% 。

出现Successfully Installed ...pycuda-2025.1...即安装成功。

运行附件的deviceQuery.py脚本即可输出找到CUDA设备即PyCUDA安装运行成功。

Compute Capability计算能力是英伟达显卡核心架构和硬件指令支持的一个重要指标,详细介绍地址:https://developer.nvidia.com/cuda-gpus

12.0正是代表Blackwell架构设备,比B200、H200、4090等几万几十万的显卡都要高。5060虽然只要不到四千块,架构是当下最新的,与其他型号贵价的产品只有性能的差异。

1.3 小结

本文详细记录了在最新Ubuntu LTS系统上为RTX 5060 Ti显卡搭建PyCUDA开发环境的全过程。若未来读者拿到更新的显卡可以按照本文的方法搭建CUDA和Python开发环境。

相关推荐
fpcc3 天前
并行编程实战——CUDA编程的流的优先级
c++·cuda
碧海潮生_CC4 天前
【CUDA笔记】03 CUDA GPU 架构与一般的程序优化思路(下)
笔记·架构·cuda
中医正骨葛大夫5 天前
一文解决如何在Pycharm中创建cuda深度学习环境?
pytorch·深度学习·pycharm·软件安装·cuda·anaconda·配置环境
lvxiangyu1110 天前
wsl2 ubuntu24 opengl 无法使用nvidia显卡 解决方法记录
wsl·cuda·opengl
李昊哲小课10 天前
wsl ubuntu24.04 cuda13 cudnn9 pytorch 显卡加速
人工智能·pytorch·python·cuda·cudnn
wanzhong233312 天前
CUDA学习2-CPU和GPU的性能优化
深度学习·gpu·cuda·高性能计算
碧海潮生_CC17 天前
【CUDA笔记】01-入门简介
笔记·cuda
hszmoran18 天前
电脑关机重启时显示rundll32 内存不能为read解决方法
电脑·nvidia·驱动
喆星时瑜20 天前
关于 ComfyUI 的 Windows 本地部署系统环境教程(详细讲解Windows 10/11、NVIDIA GPU、Python、PyTorch环境等)
python·cuda·comfyui
安全二次方security²24 天前
CUDA C++编程指南(1)——简介
nvidia·cuda·c/c++·device·cuda编程·architecture·compute unified