资讯详情

资讯详情

显卡驱动与CUDA环境排查指南:从版本查看到安装更新

1. 显卡驱动版本与CUDA环境排查的完整思路显卡驱动和CUDA环境这件事说简单也简单说折腾也真能折腾死人。我见过太多人拿到一台新机器或者接手一个深度学习项目第一步就卡在“我这显卡到底装没装驱动”“CUDA版本对不对”“为什么nvidia-smi报错”这些问题上。这篇内容就是把我这些年在一线踩过的坑、总结出来的排查路径完整地摊开讲一遍。不管你是刚拿到一张新显卡的装机新手还是需要在Linux服务器上配CUDA环境的算法工程师又或者是想搞清楚自己电脑驱动状态的普通用户下面这些内容都能直接拿去用。核心要解决的问题就四个怎么看驱动版本、怎么判断驱动类型、怎么确认CUDA版本、怎么下载和更新驱动。这四个问题环环相扣驱动版本决定了你能用的CUDA上限驱动类型决定了你该去哪里下载更新CUDA版本又直接影响到你能否跑起来PyTorch、TensorFlow这些框架。很多人上来就装CUDA Toolkit结果发现驱动版本太低根本不支持白忙活半天。所以正确的顺序应该是先查驱动再查CUDA最后决定要不要更新。我个人的习惯是拿到任何一台带NVIDIA显卡的机器第一件事就是打开终端敲nvidia-smi。这个命令几乎能一次性告诉你80%的关键信息。但问题是很多人敲完这个命令看到一堆输出就懵了不知道哪行是重点。还有人敲完发现报错nvidia-smi has failed because it couldnt communicate with the nvidia driver直接卡住。下面我会把这些情况逐一拆开讲清楚。2. 驱动版本、驱动类型与CUDA版本的核心概念拆解2.1 驱动版本号到底怎么看NVIDIA的驱动版本号格式一般是XXX.XX或者XXX.XX.XX比如535.154.05、550.54.14这种。这个数字不是随便编的它有一套命名规则。前三位数字比如535、550代表的是主版本分支后面的数字是修订号。主版本分支决定了这个驱动支持哪些CUDA版本、修复了哪些重大bug、支持哪些新显卡。举个例子535系列的驱动支持CUDA 12.2550系列的驱动支持CUDA 12.4560系列往上开始支持CUDA 12.6。这个对应关系不是绝对的但大方向是这样。你可以在NVIDIA官方的驱动发布说明里查到每个版本对应的CUDA支持情况。我一般会建议如果你的显卡不是特别新没必要追最新的驱动选一个稳定的大版本分支就行。比如RTX 30系显卡用535或者550系列都很稳没必要上最新的。在Windows上查看驱动版本很简单右键桌面打开NVIDIA控制面板左下角“系统信息”里就能看到。或者用WinR输入dxdiag在“显示”标签页里也能看到驱动版本。Linux下就更直接了终端敲nvidia-smi右上角那个Driver Version: 535.154.05就是。2.2 驱动类型的区分Game Ready还是StudioNVIDIA的驱动分两种类型Game Ready DriverGRD和Studio DriverSD。这两个名字听起来像是给不同人群用的但实际上底层是同一套驱动只是发布节奏和优化侧重点不同。Game Ready驱动更新频率高通常跟着新游戏发布走针对新游戏做优化。Studio驱动更新频率低但经过更严格的稳定性测试主要面向内容创作者、3D渲染、视频剪辑这类生产力场景。如果你主要是跑深度学习、做科学计算我建议用Studio驱动因为它的稳定性更好不容易出现莫名其妙的崩溃。如果你既打游戏又跑代码那Game Ready也没问题现在两者的差距已经很小了。怎么判断自己装的是哪种在Windows的NVIDIA控制面板里点“帮助”-“系统信息”在“驱动程序类型”那一栏会明确写着“Game Ready Driver”或者“Studio Driver”。Linux下nvidia-smi不会直接显示驱动类型但你可以通过驱动版本号去NVIDIA官网反查。一般来说同一个版本号会同时发布GRD和SD两个版本你下载的时候选哪个就是哪个。2.3 CUDA版本的两层含义驱动支持的CUDA和Toolkit版本这里有一个特别容易混淆的点CUDA版本其实有两个概念。一个是驱动本身支持的CUDA版本Driver CUDA Version另一个是你实际安装的CUDA Toolkit版本。这两个不是一回事。nvidia-smi右上角显示的CUDA Version: 12.2指的是这个驱动最高支持CUDA 12.2。也就是说你可以安装12.2及以下的CUDA Toolkit但不能装12.3。而nvcc --version显示的才是你当前实际安装的CUDA Toolkit版本。很多人看到nvidia-smi显示12.2就以为自己已经装了CUDA 12.2其实不一定你可能根本没装Toolkit。这个区别在实际操作中非常重要。比如你要装PyTorchPyTorch官网会告诉你它需要CUDA 11.8或者12.1。你首先要确认你的驱动支持的CUDA版本是否大于等于这个要求。如果驱动支持12.2那装12.1的PyTorch没问题。如果驱动只支持11.4那你就得先更新驱动或者找一个支持11.4的PyTorch版本。2.4 NVIDIA app是什么和GeForce Experience有什么区别NVIDIA app是NVIDIA新推出的一站式管理工具用来替代原来的GeForce Experience和NVIDIA控制面板的部分功能。它集成了驱动下载更新、游戏优化、录屏、性能监控等功能。如果你还在用GeForce Experience可以考虑换成NVIDIA app界面更简洁功能也更集中。不过要注意NVIDIA app目前主要面向Windows用户Linux下没有对应的图形化工具。Linux用户更新驱动一般通过包管理器或者手动下载.run文件。另外NVIDIA app的驱动更新功能默认会推荐Game Ready驱动如果你想要Studio驱动需要在设置里手动切换更新通道。3. 不同系统下查看驱动与CUDA版本的实操方法3.1 Windows系统下的完整排查流程Windows下排查驱动和CUDA环境我一般按这个顺序来第一步右键桌面打开“NVIDIA控制面板”。如果这个选项不存在说明驱动可能没装好或者你用的是微软自带的基础显示驱动。控制面板能打开说明驱动至少是装上了。第二步在控制面板里点“帮助”-“系统信息”这里能看到驱动版本、驱动类型、CUDA支持版本、显卡型号等关键信息。我通常会把这个界面截图保存方便后面对照。第三步打开命令提示符CMD或者PowerShell输入nvidia-smi。如果这个命令能用说明驱动安装完整。如果提示“不是内部或外部命令”说明NVIDIA的安装路径没加到系统环境变量里。默认路径是C:\Program Files\NVIDIA Corporation\NVSMI你可以手动把这个路径加到PATH里。第四步检查CUDA Toolkit是否安装。在CMD里输入nvcc --version。如果显示版本号说明装了。如果提示找不到命令说明没装或者没加到PATH。CUDA Toolkit默认安装在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vXX.X你可以去这个目录下看看有哪些版本。第五步如果你用Python跑深度学习还需要确认PyTorch或TensorFlow实际调用的CUDA版本。在Python里执行import torch; print(torch.version.cuda)这个才是框架真正用的CUDA版本。有时候你系统里装了多个CUDA Toolkit但PyTorch用的是它自己捆绑的运行时和你系统装的Toolkit版本可能不一致。注意Windows下如果同时装了多个CUDA Toolkit版本环境变量CUDA_PATH指向的那个版本才是命令行默认调用的版本。你可以通过修改环境变量来切换默认版本但更推荐用conda虚拟环境来管理每个环境装自己需要的CUDA版本。3.2 Linux系统下的完整排查流程Linux下排查驱动和CUDA终端就是你的主战场。我一般会跑这么一套组合命令# 查看驱动版本和CUDA支持版本 nvidia-smi # 查看当前实际安装的CUDA Toolkit版本 nvcc --version # 查看显卡硬件信息 lspci | grep -i nvidia # 查看已加载的NVIDIA内核模块 lsmod | grep nvidia # 查看驱动包安装情况Ubuntu/Debian系 dpkg -l | grep nvidia # 查看驱动包安装情况RHEL/CentOS系 rpm -qa | grep nvidianvidia-smi的输出里右上角是驱动版本和CUDA支持版本中间是显卡型号、显存使用情况、GPU利用率、温度、功耗等信息。如果这个命令报错nvidia-smi has failed because it couldnt communicate with the nvidia driver通常意味着驱动没装好、内核模块没加载、或者内核版本和驱动不匹配。nvcc --version如果提示找不到命令说明CUDA Toolkit没装或者没加到PATH。CUDA Toolkit默认安装在/usr/local/cuda-XX.X/usr/local/cuda是一个软链接指向当前默认版本。你可以用ls -l /usr/local/ | grep cuda看看装了哪些版本。提示Ubuntu 22.04和24.04下安装NVIDIA驱动推荐用ubuntu-drivers devices命令查看推荐的驱动版本然后用sudo apt install nvidia-driver-XXX安装。这种方式比手动下载.run文件更省心内核更新后驱动也会自动重新编译。3.3 驱动类型和CUDA版本的对应关系速查下面这张表是我根据NVIDIA官方文档整理的常见驱动版本和CUDA支持版本的对应关系方便你快速判断自己的环境能跑什么框架驱动版本分支最高支持CUDA版本推荐使用场景470系列CUDA 11.4老显卡GTX 750 Ti、GTX 960等稳定优先510系列CUDA 11.6过渡版本不推荐新装525系列CUDA 12.0RTX 20/30系PyTorch 2.0535系列CUDA 12.2RTX 30/40系主流深度学习框架550系列CUDA 12.4RTX 40/50系最新框架支持560系列CUDA 12.6RTX 50系CUDA 12.6特性这张表不是绝对的同一个驱动分支的不同修订版可能支持的CUDA版本略有差异。比如535系列的早期版本可能只支持CUDA 12.1后期修订版才支持12.2。所以最准确的方法还是直接看nvidia-smi的输出。另外GTX 750 Ti这种老卡最高只能用到470系列的驱动再往上就不支持了。如果你手里是这种老卡装驱动的时候要注意别装太新的版本否则会提示不兼容。4060 Ti这种新卡建议用550或560系列驱动才能发挥完整性能。4. 驱动下载、更新与CUDA安装的完整实操4.1 Windows下用NVIDIA app更新驱动NVIDIA app的驱动更新流程很简单但有几个细节要注意打开NVIDIA app左侧点“驱动程序”标签页。右上角可以切换“Game Ready驱动程序”和“Studio驱动程序”。如果你主要跑深度学习建议切到Studio。点击“检查更新”如果有新版本会显示版本号和更新说明。点击“下载”下载完成后可以选择“快速安装”或“自定义安装”。我一般选自定义安装然后勾选“执行清洁安装”这样会清除旧的驱动配置避免残留冲突。安装过程中屏幕会黑几次这是正常的。安装完成后建议重启一次。注意如果你之前用DDUDisplay Driver Uninstaller卸载过驱动或者系统里有多个显卡比如Intel核显NVIDIA独显更新驱动前最好先确认当前显示输出走的是哪个显卡。有时候更新完NVIDIA驱动显示输出会切到核显导致分辨率异常需要在BIOS或者系统显示设置里重新切换。如果你不想用NVIDIA app也可以去NVIDIA官网手动下载驱动。官网的驱动下载页面可以按显卡型号、操作系统、驱动类型筛选下载下来的是一个.exe安装包双击运行即可。手动下载的好处是可以选择特定版本比如你想回退到某个稳定版本就可以去官网的“Beta和旧版驱动程序”页面找。4.2 Linux下安装和更新NVIDIA驱动Linux下安装NVIDIA驱动有三种主流方式我分别说一下适用场景和操作步骤。方式一包管理器安装推荐Ubuntu/Debian用户这是最省心的方式驱动会随内核更新自动重新编译。操作步骤如下# 查看推荐的驱动版本 ubuntu-drivers devices # 安装推荐版本比如nvidia-driver-535 sudo apt update sudo apt install nvidia-driver-535 # 安装完成后重启 sudo reboot # 重启后验证 nvidia-smi这种方式的好处是驱动和内核模块由包管理器统一管理系统更新时不会冲突。缺点是版本更新可能比官网慢一些而且不一定有最新的Studio驱动。方式二手动下载.run文件安装这种方式适合需要特定版本驱动、或者包管理器里没有合适版本的情况。步骤如下# 先安装编译依赖 sudo apt install build-essential dkms # 禁用nouveau开源驱动 sudo bash -c echo blacklist nouveau /etc/modprobe.d/blacklist-nvidia-nouveau.conf sudo bash -c echo options nouveau modeset0 /etc/modprobe.d/blacklist-nvidia-nouveau.conf sudo update-initramfs -u # 重启进入文本模式 sudo systemctl set-default multi-user.target sudo reboot # 在文本模式下运行安装程序 sudo sh NVIDIA-Linux-x86_64-XXX.XX.XX.run # 安装完成后恢复图形界面 sudo systemctl set-default graphical.target sudo reboot注意手动安装.run文件时如果系统里已经有包管理器安装的驱动需要先卸载干净否则会冲突。另外每次内核更新后都需要重新运行安装程序比较麻烦。所以我一般只在包管理器没有合适版本时才用这种方式。方式三使用CUDA Toolkit自带的驱动如果你下载的是CUDA Toolkit的.run文件它里面会捆绑一个驱动版本。安装CUDA Toolkit时可以选择是否安装这个捆绑驱动。我一般不建议用这种方式因为捆绑的驱动版本往往不是最新的而且和系统包管理器的驱动容易冲突。更好的做法是单独安装驱动再单独安装CUDA Toolkit。4.3 CUDA Toolkit的安装与多版本管理CUDA Toolkit的安装方式取决于你的使用场景。如果你用conda管理Python环境最省事的方式是用conda安装cudatoolkit和cudnn这样每个虚拟环境可以有独立的CUDA版本互不干扰。# 创建一个新环境指定CUDA版本 conda create -n myenv python3.10 conda activate myenv conda install cudatoolkit11.8 cudnn8.9 # 验证 python -c import torch; print(torch.version.cuda)如果你需要完整的CUDA Toolkit比如要编译CUDA C代码那就需要从NVIDIA官网下载.run文件或者用包管理器安装。Ubuntu下用包管理器安装CUDA Toolkit的步骤如下# 下载并安装CUDA keyring wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt update # 安装指定版本的CUDA Toolkit sudo apt install cuda-toolkit-12-2 # 配置环境变量 echo export PATH/usr/local/cuda-12.2/bin:$PATH ~/.bashrc echo export LD_LIBRARY_PATH/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH ~/.bashrc source ~/.bashrc # 验证 nvcc --version多版本CUDA共存时/usr/local/cuda这个软链接指向哪个版本命令行默认调用的就是哪个版本。你可以用sudo ln -sf /usr/local/cuda-12.2 /usr/local/cuda来切换默认版本。但更推荐的做法是在需要特定CUDA版本的项目里手动设置PATH和LD_LIBRARY_PATH避免全局切换影响其他项目。提示CUDA 13.0已经发布但目前主流深度学习框架PyTorch、TensorFlow对CUDA 13的支持还不完善。如果你不是必须用CUDA 13的新特性建议先用CUDA 12.x系列等框架生态跟上再升级。5. 常见报错与排查技巧实录5.1 nvidia-smi报错“couldnt communicate with the nvidia driver”这是Linux下最常见也最让人头疼的报错。完整报错信息通常是NVIDIA-SMI has failed because it couldnt communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.这个报错的根本原因是nvidia-smi这个用户态工具无法和内核态的NVIDIA驱动通信。可能的原因有几种原因一驱动没装或者没装好。用lsmod | grep nvidia检查内核模块是否加载。如果没有输出说明驱动模块没加载。可以尝试sudo modprobe nvidia手动加载如果报错说明驱动安装有问题需要重新安装。原因二内核版本和驱动不匹配。系统内核更新后NVIDIA驱动需要重新编译内核模块。如果你用的是包管理器安装的驱动通常会自动处理。如果是手动安装的.run文件需要重新运行安装程序。检查方法uname -r看当前内核版本dkms status看驱动模块的编译状态。原因三Secure Boot导致驱动模块无法加载。很多新主板默认开启Secure Boot会阻止未签名的内核模块加载。解决方法是在BIOS里关闭Secure Boot或者给NVIDIA驱动模块签名。Ubuntu下可以用mokutil工具管理签名密钥。原因四nouveau开源驱动冲突。如果nouveau驱动还在加载会和NVIDIA驱动冲突。用lsmod | grep nouveau检查如果有输出需要按照前面说的方式禁用nouveau。5.2 CUDA版本和PyTorch版本不匹配这个问题的典型表现是nvidia-smi正常nvcc --version也正常但Python里import torch之后torch.cuda.is_available()返回False。或者报错CUDA error: no kernel image is available for execution on the device。根本原因是PyTorch编译时使用的CUDA版本和你系统里的CUDA版本不一致。PyTorch的每个版本都会明确标注它支持的CUDA版本比如torch2.1.0cu118表示这个版本是用CUDA 11.8编译的。如果你系统里装的是CUDA 12.2但PyTorch是cu118版本那PyTorch会使用它自己捆绑的CUDA 11.8运行时而不是你系统的12.2。这种情况下torch.cuda.is_available()通常还是返回True因为PyTorch自带运行时。但如果你的驱动版本太低不支持PyTorch需要的CUDA版本就会出问题。比如驱动只支持CUDA 11.4但你装了cu118版本的PyTorch就会报错。解决方法要么是更新驱动要么是换一个低版本CUDA的PyTorch。注意nvcc --version显示的CUDA版本和PyTorch实际使用的CUDA版本可以不一样。nvcc是CUDA Toolkit的编译器PyTorch用的是CUDA运行时库。判断PyTorch实际用的CUDA版本应该用torch.version.cuda而不是nvcc --version。5.3 驱动卸载不干净导致新驱动安装失败Windows下用DDU卸载驱动是最彻底的方式。操作步骤下载DDU重启进入安全模式运行DDU选择“清除并重启”。重启后再安装新驱动。如果不进安全模式DDU可能无法完全清除正在使用的驱动文件。Linux下卸载驱动如果用包管理器安装的用sudo apt purge nvidia-*卸载。如果是.run文件安装的用sudo /usr/bin/nvidia-uninstall卸载。卸载后检查/etc/modprobe.d/下是否有残留的配置文件/lib/modules/$(uname -r)/kernel/drivers/video/下是否有残留的.ko文件。有的话手动删除然后sudo update-initramfs -u更新initramfs。5.4 常见问题速查表报错信息可能原因排查命令解决方法nvidia-smi has failed驱动未加载/内核不匹配lsmod | grep nvidia重装驱动或重新编译内核模块nvcc: command not foundCUDA Toolkit未安装或PATH未配置ls /usr/local/ | grep cuda安装Toolkit并配置PATHCUDA error: no kernel image驱动版本太低nvidia-smi查看CUDA支持版本更新驱动或换低版本PyTorchunable to load kernel module nvidia.koSecure Boot阻止/内核不匹配dmesg | grep nvidia关闭Secure Boot或重新编译模块glxserver_nvidia failed to load图形界面驱动组件缺失dpkg -l | grep nvidia重装nvidia-driver包cuda gzip: stdin: invalid compressed data下载文件损坏md5sum校验重新下载CUDA安装包6. 驱动与CUDA环境维护的实操心得6.1 版本选择稳定优先不追新我这些年最大的体会就是驱动和CUDA版本稳定比新更重要。除非你有明确的需求必须用某个新版本比如新显卡必须用新驱动或者某个框架只支持最新CUDA否则不要轻易升级。我见过太多人看到新驱动发布就手痒升级结果跑了一半的实验崩了回头排查半天发现是驱动兼容性问题。我的建议是选定一个稳定的大版本分支后除非遇到必须解决的问题否则不要动。比如你的RTX 3090用535系列驱动跑得好好的就没必要升到550。等535系列不再收到安全更新了再考虑升级。6.2 环境隔离用conda管理CUDA版本如果你经常需要在不同项目之间切换每个项目需要的CUDA版本可能不一样。这时候用conda虚拟环境来隔离是最省心的。每个环境装自己的cudatoolkit和cudnn互不干扰。系统层面的CUDA Toolkit只需要装一个基础版本用来编译需要nvcc的代码。# 项目A需要CUDA 11.8 conda create -n projectA python3.10 conda activate projectA conda install cudatoolkit11.8 cudnn8.9 pip install torch2.1.0cu118 # 项目B需要CUDA 12.1 conda create -n projectB python3.10 conda activate projectB conda install cudatoolkit12.1 cudnn8.9 pip install torch2.2.0cu121这种方式的好处是你不需要在系统层面反复卸载安装CUDA Toolkit每个项目环境独立切换成本极低。6.3 记录环境配置好记性不如烂笔头我强烈建议每次配好一个环境后把关键信息记录下来驱动版本、CUDA版本、cuDNN版本、PyTorch版本、Python版本。可以用pip freeze requirements.txt导出Python包列表再手动补充驱动和CUDA信息。这样下次环境出问题或者需要在新机器上复现时直接照着记录配就行不用再从头排查。我自己的做法是在项目根目录放一个ENV.md文件里面写清楚- 驱动版本: 535.154.05 - CUDA支持版本: 12.2 - CUDA Toolkit: 12.2 - cuDNN: 8.9.7 - PyTorch: 2.1.0cu121 - Python: 3.10.13 - 安装命令: conda install cudatoolkit12.1 cudnn8.9 pip install torch2.1.0cu121这个习惯帮我省了无数次重复排查的时间。6.4 老显卡的驱动选择GTX 750 Ti、GTX 960、GTX 1050这些老卡NVIDIA已经停止更新驱动了。最后一个支持这些卡的驱动版本是470系列。如果你手里是这类卡装驱动时要注意Windows下NVIDIA app可能不会推荐470系列驱动需要去官网手动下载。Linux下Ubuntu的包管理器里可能还有nvidia-driver-470可以直接装。这些老卡不支持CUDA 11.5及以上版本所以PyTorch最高只能用cu114版本。如果跑深度学习建议用这些卡做推理而不是训练训练的话显存和算力都不太够。6.5 WSL2下的CUDA环境WSL2下用CUDA有个特殊之处WSL2本身不需要安装NVIDIA驱动它直接调用Windows主机的驱动。你只需要在Windows下装好驱动然后在WSL2里安装CUDA Toolkit即可。验证方法是nvidia-smi能正常输出说明WSL2已经能访问到GPU了。WSL2下安装CUDA Toolkit的步骤和原生Linux类似但要注意WSL2的内核版本和驱动兼容性。如果nvidia-smi报错先检查Windows下的驱动是否正常再检查WSL2的内核版本是否支持当前驱动。提示WSL2下跑CUDA程序性能损耗大概在5%到10%左右对于开发和调试来说完全够用。但如果要做大规模训练还是建议用原生Linux环境。6.6 驱动更新后的验证清单每次更新驱动或CUDA后我都会跑一遍这个验证清单确保环境没问题nvidia-smi能正常输出驱动版本和CUDA支持版本符合预期。nvcc --version显示正确的CUDA Toolkit版本。Python里import torch; torch.cuda.is_available()返回True。torch.randn(3,3).cuda()能正常执行不报错。如果有多个GPUtorch.cuda.device_count()返回正确的数量。跑一个简单的训练脚本确认loss能正常下降。这个清单看起来简单但能覆盖90%的环境问题。我见过太多人更新完驱动直接跑大项目结果跑到一半崩了回头排查发现是环境问题。花五分钟跑一遍验证清单能省下后面几小时的排查时间。6.7 关于CUDA迁移和版本升级有时候你接手了一个老项目它用的是CUDA 10.2或者11.0但你的新机器驱动只支持CUDA 11.8以上。这时候就需要做CUDA迁移。迁移的核心工作是检查项目里所有依赖CUDA的库看它们是否有支持新CUDA版本的版本。更新requirements.txt里的版本号。重新编译需要nvcc的C/CUDA扩展。跑一遍完整的测试确认没有精度损失或性能退化。CUDA迁移最麻烦的地方是有些老库已经不再维护了没有支持新CUDA的版本。这时候要么找替代库要么自己改源码重新编译。我遇到过好几次这种情况最后都是自己动手改的。所以如果你要接手老项目提前做好心理准备。6.8 NVIDIA app的实用功能NVIDIA app除了驱动更新还有几个功能我觉得挺实用性能监控可以实时看GPU利用率、温度、功耗、显存占用不用再开任务管理器。游戏内覆盖按AltZ呼出可以录屏、截图、看帧率。驱动回滚如果新驱动有问题可以在NVIDIA app里一键回滚到上一个版本。Studio驱动切换在设置里可以切换驱动更新通道方便在Game Ready和Studio之间切换。不过NVIDIA app目前还有一些小bug比如偶尔会卡在检查更新界面或者驱动下载速度慢。遇到这种情况直接去官网手动下载就行不用死等。6.9 关于CUDA 13和未来版本CUDA 13.0已经发布了但目前支持CUDA 13的深度学习框架还很少。PyTorch和TensorFlow都还在适配中。如果你不是必须用CUDA 13的新特性比如新的编译器优化、新的数学库函数建议先观望一段时间。等主流框架都支持了再升级能省去很多兼容性排查的麻烦。另外Ubuntu 26.04预计会默认搭载更新的内核和驱动到时候CUDA 13的支持应该会更完善。如果你现在用的是Ubuntu 22.04或24.04没必要为了CUDA 13专门升级系统。等26.04 LTS发布后直接在新系统上配CUDA 13环境会更省心。6.10 一个容易被忽略的细节显卡驱动和显示输出的关系最后说一个很多人忽略的点NVIDIA驱动不仅影响CUDA计算还影响显示输出。如果你在Linux下更新驱动后发现分辨率不对、外接显示器不亮、或者登录界面循环很可能是显示输出出了问题。排查方法是检查xrandr的输出看是否正确识别了显示器和分辨率。如果用的是Wayland会话检查/etc/gdm3/custom.conf里WaylandEnable的设置。有些驱动版本对Wayland的支持不完善切换到X11会话可能更稳定。另外如果你用的是笔记本有Intel核显和NVIDIA独显两块显卡更新NVIDIA驱动后可能会出现显示输出切到核显的情况。这时候需要在BIOS里设置主显示输出或者在系统显示设置里手动切换。这个问题在Ubuntu 22.04和24.04下都比较常见尤其是用华硕、联想这些品牌的笔记本时。我个人在实际操作中的体会是显卡驱动和CUDA环境这件事最怕的就是“想当然”。不要假设nvidia-smi正常就万事大吉也不要假设装了CUDA Toolkit就能跑PyTorch。每一步都验证一下花不了几分钟但能避免后面大量的排查时间。另外养成记录环境配置的习惯比任何排查技巧都管用。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →