1.Linux安装Nvidia显卡驱动+CUDA+cuDNN+PyTorch
2.CUDA、驱动驱动驱动安装与踩坑记录
3.Linux安装显卡驱动、源码CUDA和cuDNN
4.p106cudaå®è£
5.GPU编程3:CUDA环境安装和IDE配置
6.Ubuntu22.04换源、程序Nvidia显卡驱动、驱动驱动CUDA、源码Anaconda安装
Linux安装Nvidia显卡驱动+CUDA+cuDNN+PyTorch
本文详细介绍了在Ubuntu .环境下安装Nvidia显卡驱动、程序iptv后端源码CUDA、驱动驱动cuDNN和PyTorch的源码全过程。以下是程序具体步骤与内容:
首先,查看电脑的驱动驱动显卡型号。在本例中,源码显卡型号为GeForce GTX Ti。程序
接下来,驱动驱动禁用Ubuntu自带的源码Nouveau驱动,以确保使用官方的程序Nvidia驱动。这一步非常重要,避免兼容性问题。
编辑文件以禁用Nouveau驱动。添加特定代码以实现禁用。
更新系统并重启机器以使更改生效。
检查是否成功禁用Nouveau驱动。若无输出,说明已禁用成功。
安装GCC和CMake。检查安装状态,确认已成功安装。
下载Nvidia显卡驱动,进入官网选择对应显卡型号,下载指定版本。
关闭显示模式,切换到tty终端模式,输入命令关闭显示管理器。
在终端中运行下载的驱动安装程序,根据提示一路选择继续安装。
重启后,输入nvidia-smi检查驱动安装结果,应显示匹配的CUDA版本。
安装CUDA,查看对应的CUDA版本,下载CUDA .0,安装并确认不完整的安装提示。
配置环境变量,按摩 源码确保安装成功。测试CUDA配置,输出类似“PASS”表示成功。
下载cuDNN,选择与CUDA版本对应的版本,下载并解压文件。
将cuDNN文件夹中的cudnn.h和libcudnn*文件复制到已安装CUDA的相应目录。
至此,cuDNN安装完成,可以准备安装PyTorch。
访问PyTorch官网找到对应CUDA版本的PyTorch版本,推荐使用豆瓣源通过pip安装,确保安装成功。
检测PyTorch是否成功调用显卡,通过特定命令进行验证。
在完成以上步骤后,您将成功在Ubuntu .环境中安装Nvidia显卡驱动、CUDA、cuDNN和PyTorch,为使用GPU加速的深度学习项目做好准备。
CUDA、驱动安装与踩坑记录
为解决CUDA安装问题,首先需访问CUDA Toolkit .8的下载页面,选择对应版本下载。
直接安装CUDA与驱动时,易遭遇错误。为避免此情况,应先卸载已加载的NVIDIA相关服务。使用命令查看现有服务,找出NVIDIA模块,随后执行卸载。
若卸载时提示“rmmod: ERROR: Module nvidia is in use”,表示内核模块在使用中。应终止这些使用kmods的进程后,再执行卸载操作。
确认卸载操作成功后,重新安装驱动和CUDA,过程中接受所有默认选项。安装完成后,需使用vim编辑环境变量,加入CUDA对应的crawl源码路径。
执行nvcc -V命令,如能正常显示,则表明CUDA已正确安装。
然而,安装过程中还可能遇到“CUDA initialization: Unexpected error from cudaGetDeviceCount()”错误。此问题源于NVIDIA-fabricmanager版本与CUDA版本不匹配。为解决,需下载与当前驱动及CUDA版本相匹配的版本进行安装。
Linux安装显卡驱动、CUDA和cuDNN
为实现Linux系统中安装显卡驱动、CUDA和cuDNN的目标,首先需解决nouveau驱动问题,确保系统正常识别并使用显卡。具体步骤包括修改grub配置文件,创建新镜像文件,重启系统,验证nouveau驱动是否已禁用。
接着,安装gcc编译环境和内核相关包,确保系统具备编译CUDA环境的必要条件。使用命令执行如下操作:安装kernel-devel、kernel-doc、kernel-headers、gcc*、glibc*和glibc-
*更新系统,执行更新命令:yum -y update。安装GNOME Desktop和Development Tools。安装lrzsz和dkms工具。
登录NVIDIA官网,查询并下载对应显卡型号的驱动。切换至安装包目录,并添加可执行权限。安装显卡,确保在安装过程中使用正确的kernel-source-path路径,根据提示进行操作即可完成安装。验证安装成功。
安装CUDA Toolkit,需确保系统中安装有gcc和make。对于C++编程,还需安装g++。运行CUDA例程,vchelp源码需要相应的依赖库。安装前,确认已安装显卡驱动,避免重复安装。
配置CUDA,编辑~/.bashrc文件,更新配置,执行source命令以应用更改。验证CUDA安装成功,使用nvcc --version命令。
注意:CUDA、cuRAND等动态库位于/usr/local/cuda-.1/lib路径中。对于CUDA .1及之后版本,cuBLAS动态库已迁移到/usr/lib/x_-linux-gnu路径,可通过运行特定命令查询实际路径。使用Anaconda安装的CUDA Toolkit不位于lib路径,且不会引起冲突。
安装cuDNN,解压tar文件,并移动cuDNN文件。验证cuDNN安装状态,确保系统正确识别并使用cuDNN。
最后,通过参考一系列相关链接,了解查看服务器显卡型号、Python版本、禁用默认驱动、安装CUDA和cuDNN等详细操作。链接包括但不限于查看服务器显卡信息、查看Linux显卡型号、Ubuntu.系统禁用Nouveau驱动、CentOS7篇关于禁用默认显卡驱动等内容。
pcudaå®è£
å®è£ P-CUDA驱å¨ç¨åºçæ¥éª¤ï¼
1ãä¸è½½CUDA驱å¨ï¼å¨NVIDIAå®ç½ä¸ä¸è½½P-éç¨çCUDA驱å¨ï¼ä¸è½½å°å为/Download/index.aspx
2. 阻止或卸载nouveau驱动。
3. 通过控制台进入文本界面,安装NVIDIA驱动。
步骤示例:调整引导运行级别,以便开机进入文本界面。
网址参考:jingyan.baidu.com/article/0abcb0fbdf.html
4. 确认驱动安装。
5. 尽量与CUDA版本匹配安装NVIDIA驱动。
6. 进行CUDA测试。
CUDA代码编译与运行:
编译CUDA源码时,cmus源码包含两个部分:CUDA设备函数与主机函数,它们分开独立编译。CUDA 5.0+支持文件间设备代码独立编译,而整体编译是默认模式。
编译三个文件(a.cu, b.cu, c.cpp),其中a.cu调用了b.cu中定义的设备代码,可以使用独立编译方式实现。
详细编译步骤:使用nvcc编译设备函数,普通C/C++编译器编译主机代码。
举例:`nvcc a.cu`编译设备文件。
实际工程中,为了优化编译效率,常采用`makefile`或`CMake`工具配置源码编译。
`nvcc`支持多种快捷开关,如`-arch=sm_`编译特定架构。
基于Clion的CUDA配置流程:
1. 遇到Clion创建CUDA可执行文件失败问题。
检查是否已安装NVCC。
验证机器安装GPU卡。
检查安装路径:执行`which nvcc`,若未找到,则进行安装。
确认安装位置:输入`nvcc`显示默认路径,通常为`/usr/bin/nvcc`。
2. 利用Clion新建CUDA项目,并设置CMake。
配置CMake代替`makefile`,简化编译过程。
输出及结果:提供示例链接供参考。
Ubuntu.换源、Nvidia显卡驱动、CUDA、Anaconda安装
在Ubuntu .版本中,驱动兼容性得到了显著提升,使得显卡驱动的安装变得更为简便。以前在Ubuntu .及之前,例如手动安装Nvidia显卡驱动,可能会遇到诸如黑屏问题,但.版本可以通过软件更新器直接选择合适的驱动,无需手动安装,且我已测试两次,未发现错误。
首先,我们来更换软件源。推荐使用清华源,具体步骤如下:
1. 更新系统
然后,对于显卡驱动的安装,首先确认你的显卡型号,从官网下载推荐的驱动包:
安装后,为了防止驱动与内核更新冲突,建议在重启前关闭自动更新。
重启后,检查驱动是否成功安装。
接下来,我们要安装CUDA。访问CUDA官网,根据系统需求选择版本,如CUDA .2,接受协议后进行安装。安装完成后,确保配置环境变量,具体步骤可参考之前的文章关于环境变量的设置。
对于Anaconda的安装,首先确保安装了必要的依赖,然后从官网下载安装包,无需注册。下载后,按照提示安装,注意匹配Python版本,安装过程中会添加环境变量。
最后,根据Anaconda的安装路径,添加到环境变量中并刷新。至此,你已经准备好在Ubuntu .上通过虚拟环境安装PyTorch了,可以参考相关教程进行进一步配置。
å¦ä½å®è£ CUDA
é¦å éªè¯ä½ æ¯å¦ænvidiaçæ¾å¡ï¼developer.nvidia.com/cuda-gpusè¿ä¸ªç½ç«æ¥çä½ æ¯å¦ææ¯ægpuçæ¾å¡ï¼ï¼
[plain] view plain copy
$ lspci | grep -i nvidia
æ¥çä½ çlinuxåè¡çæ¬ï¼ä¸»è¦æ¯çæ¯ä½è¿æ¯ä½çï¼ï¼
[plain] view plain copy
$ uname -m && cat /etc/*release
çä¸ä¸gccççæ¬ï¼
[plain] view plain copy
$ gcc --version
é¦å ä¸è½½nvidia cudaçä»åºå®è£ å ï¼æçæ¯ubuntu .ãä½ï¼æ以ä¸è½½çæ¯ubuntu.çå®è£ å ï¼å¦æä½ æ¯ä½çå¯ä»¥åçå ·ä½çå°åï¼å ·ä½çå°åæ¯/cuda-downloadsï¼
[plain] view plain copy
wget developer.download.nvidia.com/compute/cuda/repos/ubuntu/x_/cuda-repo-ubuntu_6.5-_amd.deb
ä¸è½½å®æä¹åå¯ä»¥ä½¿ç¨å¦ä¸å½ä»¤å®è£ å®ï¼æ³¨ææ件åä¿®æ¹ä¸ºcuda-repo-ubuntu_6.5-_amd.deb
[plain] view plain copy
sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb
å®è£ 好ä»åºä¹åï¼å°±å¯ä»¥æ´æ°ä½ çæ¬å°ä»åºã
[plain] view plain copy
sudo apt-get update
æåå¼å§å®è£ cuda以åæ¾å¡é©±å¨ï¼å®è£ cudaçåæ¶å°±ä¼ææ¾å¡é©±å¨ä¹å ¨é¨å®è£ 好ï¼è¿ä¸ªççå¾æ¹ä¾¿ãä½æ¯ä¸è½½çæ¶é´æç¹é¿ãï¼
[plain] view plain copy
sudo apt-get install cuda
éè¦æ³¨æçæ¯ï¼æè¿éæä¾çå®è£ æ¹æ³è·ç½ç»ä¸åç§å®è£ æ¹æ³é½ä¸ä¸æ ·ï¼ä»ä»¬çæ¹æ³å¾å¾å¾å¤æ
主è¦æ¯å 为ï¼ï¼1ï¼æäºæç¨æ¯æå·¥å®è£ æ¾å¡ç驱å¨ç¨åºï¼æå·¥å±è½ç³»ç»çé»è®¤å¼æºç驱å¨
ï¼2ï¼å®è£ cudaä¹æ¯æå·¥è¿è¡
使ç¨è¿ä¸ªæ¹æ³çæ¶ååä¸è¦æ³¨æå 个é®é¢ï¼
ï¼1ï¼cuda6.5å·²ç»ä¸æ¯æèæ§çæ¾å¡äºæ以sm ççé½å¿ é¡»å é¤ãå¯ä»¥åèæçå¦ä¸ä¸ªæç« ï¼å ³äºç¼è¯opencv3.0ç
ï¼2ï¼ubuntu.æ¯ä½çï¼å¹¶ä¸ä¸è¦ä¸å¼å§å°±æ´æ°ç³»ç»è¡¥ä¸ä»ä¹çï¼å 为系ç»æ´æ°è¿ä¹åï¼åå®è£ æ¾å¡é©±å¨å°±ä¼æ æ³è¿å ¥å¾å½¢çé¢ï¼ææ¥çäºç¸å ³çæ¥å¿åç°æ¯å¡å¨äºdbusé£è¾¹ãæ以ï¼æ建议ä¸å®è£ 好ubuntu .å°±ä¸è¦æ´æ°ç³»ç»è¡¥ä¸ã
å®è£ å®ä¹åä½ éè¦è®¾ç½®ç¯å¢åéï¼
[plain] view plain copy
$ export PATH=/usr/local/cuda-6.5/bin:$PATH
$ export LD_LIBRARY_PATH=/usr/local/cuda-6.5/lib:$LD_LIBRARY_PATH
设置å®æ¯ä¹åï¼ä½ è¿å¯ä»¥éæ©æ¯å¦å®è£ cudaé带ç示ä¾ä»£ç ï¼<dir>è¡¨ç¤ºä½ è¦å®è£ çä½ç½®ï¼ä½ å¯ä»¥å°<dir>æ¿æ¢æ~ï¼ï¼
[plain] view plain copy
$ cuda-install-samples-6.5.sh <dir>
æ¥ä¸æ¥åä¸äºéªè¯å·¥ä½ï¼
æ¥çæ¾å¡ç驱å¨çæ¬
[plain] view plain copy
cat /proc/driver/nvidia/version
æ¥çnvccç¼è¯å¨ççæ¬
[plain] view plain copy
nvcc -V i
ç¼è¯cudaç示ä¾ä»£ç :
[plain] view plain copy
cd ~/NVIDIA_CUDA-6.5_Samples
ç¶åmakeä¸ä¸ç¼è¯ä»£ç ã
è¿å ¥binè·¯å¾è¿è¡devicequery
[plain] view plain copy
cd ~/NVIDIA_CUDA-6.5_Samples/bin
[html] view plain copy
./ deviceQuery
å ·ä½çå®è£ è¿ç¨å¯ä»¥åèè±æã
/cuda/cuda-getting-started-guide-for-linux/index.html
è¿éå¿ é¡»è¦å¼ºè°çæ¯ä¸å®è¦æ¯æ°çubuntu. å¨å®è£ æ¾å¡é©±å¨ä¹ååä¸å«æ´æ°ï¼å¦åå°±æ æ³è¿å ¥æ¡é¢ï¼è¿ä¸ªé®é¢å°æ°äºæå¾ä¹ äºãéè£ äºæ¯åå éçç³»ç»ã
è¿ç¯guideåªæ¯ä¸äºé¶æ£çå®è£ æ¥éª¤ä»¥åç»åæ¥äººå¯¹äºcudaçä¸äºåä¸çæéã
CUDA兼容性问题(显卡驱动、docker内CUDA)
的环境已经平稳运行1年,随着各大厂商(Tensorflow、Pytorch、Paddle等)努力适配CUDA .x版本,对的GPU支持在逐渐完善,对于早期(CUDA .0 或 .1)的服务器环境也迫切需要升级到适应最新版本CUDA .2 及以上。文章尽力把的整个思考过程写清楚,让小白能够理解,如有不足之处,也请大家指导。
CUDA两大选择:
对于个人深度学习玩家,、系列游戏卡显卡(非Tesla、P系列等),如果新安装环境,建议使用.2或.2版本,适用更广。
Docker 内 CUDA 和 主机驱动 不兼容:
截止年1月,CUDA已经发布到了 .6,不断发布的CUDA版本,让构建环境越来越复杂,本人在运行Paddle2.2 的Docker就遇到问题。导致 Paddle 2.2 的 docker 无法在 Nvidia 驱动版本 . 的 主机上启动,错误提示 CUDA版本不是.2。
正常来讲docker内的 CUDA版本和 宿主机(物理机)无关,但是这个错误(忘截图了....),让我重新思考 docker内CUDA版本 和宿主机Nvidia驱动之间的关系。
官方兼容说明:
英文资料参考
我把试着自己理解,并要点整理如下,
从CUDA .x 以后 已经可以对 编译后的程序进行向后兼容(原文如下),也就是 程序编译发布后,是可以升级CUDA。并给出了最低驱动版本 ..,这也是很多博主贴图的依据。
Each release of the CUDA Toolkit requires a minimum version of the CUDA driver. The CUDA driver is backward compatible, meaning that applications compiled against a particular version of the CUDA will continue to work on subsequent (later) driver releases.
关键的信息:编译后的程序向后兼容
说到这里我们要看看CUDA SDK构成,这是我的知识盲点(反正是一个SDK包,没有在意具体里面包含什么)
CUDA软件主要包括三部分:
Using a Minimum Required Version that isdifferent from Toolkit Driver Version could be allowed in compatibility mode -- please read the CUDA Compatibility Guide for details
明白三部分构成后,Nvida公司向后兼容仅是运行环境,提供了一个compatibility mode(兼容模式),如果你是开发者,最小(>= ..)的驱动版本仅能保证 编译后的CUDA程序可以运行。
回到问题(Paddle 2.2 docker cuda.2 无法运行 在Nvidia GPU ..的驱动上),Docker 是轻量级容器(不同于VM虚拟机),Docker内包含CUDA,但不包含 Nvidia GPU驱动,所以虽然我满足了 最小Nvidia驱动版本(..),但是依然无法使用.2.0 GA的CUDA Toolkit 编译环境(Nvidia GPU 驱动 >= ..)。
用大白话讲: 宿主机(物理主机)的Nvidia GPU 驱动 必须大于 CUDA Toolkit要求的 Nvida GPU 驱动版本。否则 对于开发者 CUDA Toolkit就不能用(仅是运行环境 向后兼容)。
基于上面的说明,可以得到一个自己的推论:
宿主机(物理机)的 Nvidia GPU 驱动 选择 高版本, 更容易 兼容你Docker内不同CUDA的驱动要求。
举例: 宿主机 Nivida GPU 驱动 兼容 对照表
CUDA版本兼容性约定:
原文如下:
从CUDA开始 ,Nvidia公司 遵循了 以下规则 .X.Y. Z,例如 CUDA .2.1,分别对应如下
API 会改变,二进制兼容性会被破坏(编译环境和 和二进制兼容性都不保证)
API会增加新的函数,弃用一些API,编译环境可能会破坏,但是 二进制兼容性会保持。
会包含 新的更新和补丁程序,编译环境 和 二进制程序运行环境 会兼容
CUDA升级对应关系如下:
看到这里,大家应该理解,为啥要升级 宿主机的 驱动版本了吧,即使Docker的CUDA和主机无关,但是Docker和宿主机的驱动有关,为了保证CUDA Toolkit的Nvidia GPU 驱动要求,主机需要升级 Nvidia GPU 驱动。
实验环境:
宿主机 Nvidia GPU 驱动 : . ,驱动对应CUDA .4
客机 Docker 内 CUDA:.2
借用NVIDIA Container Toolkit的说明图可以很清楚的看出:
Nvida GPU驱动 + CUDA Driver在 Docker 引擎之下(属于主机OS),Container仅包含 CUDA Tookit。
Make sure you have installed the NVIDIA driver and Docker engine for your Linux distributionNote that you do not need to install the CUDA Toolkit on the host system, but the NVIDIA driver needs to be installed
总结:现在明白为什么需要一个更新的驱动程序了吧,CUDA兼容仅限运行环境,下次详细些升级过程。加油吧:)分享知识不收费,也请“点赞”鼓励我,努力为大家呈现更多精彩原创内容:)
凌蓝风
年1月日
deepin . 安装nvidia driver和cuda
近期关注到华为笔记本适配deepin系统的新闻,便亲自尝试安装体验。deepin系统相较于ubuntu,界面更为美观,并且兼容了众多常用软件,让我有了放弃windows的念头。
鉴于需要在deepin上开发深度学习应用,我首先需要安装闭源驱动和cuda。以下为具体操作步骤(以dell G7为例,搭载intel和nvidia双显卡,若为单nvidia显卡,步骤可能有所差异,请自行判断)。
安装nvidia驱动:
执行相关命令后,重启系统。
重启后,检查驱动是否生效。
下载nvidia闭源驱动,我选择的是NVIDIA-Linux-x_-..run,考虑到后续将安装cuda ,故选择了略高于官方推荐版本的驱动。不建议下载最新驱动,因为可能存在bug。
切换至命令行模式,关闭桌面程序服务(使用“Ctrl+Alt+F2”进入tty2,并登录系统)。
安装驱动。
安装完成后,重启系统,执行nvidia-smi命令,发现此时显卡并未正常工作,显存占用为0。由于我的电脑是双显卡,此时仍为intel集成显卡在工作,因此需要进一步操作。
设置默认nvidia显卡工作:
执行命令获取nvidia显卡设备BusID,例如“:.0”,填写为PCI:1:0:0。
编辑/etc/X/xorg.conf,注意PCI部分填写PCI:1:0:0。
编辑~/.xinitrc文件。
编辑/etc/lightdm/display_setup.sh文件。
执行相关命令。
编辑/etc/lightdm/lightdm.conf,在[Seat:*]行下添加相应配置。
重启系统,检查设置是否生效。
安装cuda:
安装驱动后,接下来安装cuda。安装过程中不要选择安装显卡驱动。
确认cuda是否生效,通过编译cuda示例程序并执行,结果应为正常。
[技术随笔]🛠🛠从源码安装Pytorch3D详细记录及学习资料
这篇文章详细介绍了如何从源码安装Pytorch3D,包括选择合适的镜像、配置工具和编译步骤。首先,选择Pytorch 1.9的devel镜像,包含CUDA和驱动,确保与Pytorch3D的版本要求相匹配,比如Python 3.7和CUDA .2。在镜像内,需要检查nvcc编译器、CUDA工具箱和驱动是否正常,同时安装基本工具如git、vim、sudo和curl。
配置CUB工具是关键步骤,根据Pytorch3D文档,需要在编译前设置CUB_HOME。即使Pytorch镜像自带CUDA,也建议手动设置`FORCE_CUDA`为1以确保兼容。接着,如果遇到conda依赖问题,作者选择从源码编译Pytorch3D,编译过程中的安装log和版本检查是必要的。
最后,通过测试用例,如从ARkit导出数据并渲染白模,验证GPU的使用。结果显示GPU正常工作,安装成功。对于更深入的Pytorch3D使用,作者还分享了一些参考资源,以便初学者入门。