ubuntu源码安装pytorch——源码编译(包含驱动,cuda,cudnn安装)
遇到的错误
在源码安装pytorch时,我的cuda的版本时11.4,所以按照官方的安装指南是需要magma-cuda114,而此时magma-cuda114还没发布。
所以我的方法是
卸载驱动、CUDA和CUDNN(具体自己百度)。然后选择对应cuda版本为11.3的显卡驱动,然后安装cuda11.3和相应的CUDNN。
说明:显卡的驱动可以用较低版本的。
1.安装驱动
参考:https://www.mlzhilu.com/archives/ubuntu2004%E5%AE%89%E8%A3%85nvidia%E6%98%BE%E5%8D%A1%E9%A9%B1%E5%8A%A8
1.1 驱动下载
我需要安装cuda11.3,所以需要选择相应版本的驱动
从这里可以看到cuda和驱动之间的版本对应关系
从这里可以下载各种版本的驱动
最好将下载完的驱动放在~目录下,别问为什么,听我的就对了
1.2 安装前的准备
1.安装lightdm
sudo apt-get update
sudo apt install -y lightdm
弹出来一个选项,选择lightdm就行
2.停止lightdm桌面服务
sudo service lightdm stop
3.设置一下root账户密码
sudo passwd root
然后输入密码
4.首先查看你有没有安装gcc
gcc --version
如果没有安装gcc一般make也没安装,这时需要安装一下gcc和make
sudo apt install gcc
sudo apt install make
5.删除自带驱动
sudo apt purge nvidia*
sudo apt-get autoremove
6.禁用自带的nouveau nvidia驱动
sudo gedit /etc/modprobe.d/blacklist.conf
在最后添加如下内容
blacklist nouveau
options nouveau modeset=0
然后保存退出。
sudo update-initramfs -u # 更新
sudo reboot # 重启
重启之后显示是黑屏,此时按ctrl+alt+F1或ctrl+alt+F2,进入命令行,然后登录
7.重启后查看是否已经将自带的驱动屏蔽了,输入以下代码
lsmod | grep nouveau
没有结果输出,则表示屏蔽成功
1.3 安装驱动
cd到你下载的显卡驱动的目录
执行:
sudo chmod a+x NVIDIA-Linux-x86_64-465.31.run
sudo ./NVIDIA-Linux-x86_64-465.31.run -no-x-check -no-nouveau-check -no-opengl-files
# -no-x-check:安装时关闭X服务
# -no-nouveau-check: 安装时禁用nouveau
# -no-opengl-files:只安装驱动文件,不安装OpenGL文件
然后会弹出来一个窗口,根据提示进行操作
最后重启,然后输入nvidia-smi会显示驱动和cuda的版本信息,说明驱动安装成功
2 安装cuda
参考:https://bbs.huaweicloud.com/blogs/detail/210271
1.cuda下载安装
从这里下载对应版本的cuda,这里选择runfile(local)进行安装
运行如下命令:
wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run
sudo sh cuda_11.3.1_465.19.01_linux.run
然后会弹出来一个窗口,按空格取消第一个选项,因为我们安装过驱动了,不要安装了。最后选择安装即可
2.环境配置(两种方式)
修改home目录下的.bashrc文件( 修改home目录下的.bashrc文件,只针对当前用户)
cd ~ # 切换回home目录
gedit .bashrc # 修改.bashrc文件
# add cuda path # 在文件末尾添加路径
export PATH="/usr/local/cuda-11.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH"
:wq # 退出保存
修改profile文件,针对所有用户
sudo vim /etc/profile # 修改/etc/profile文件
# add cuda path # 文件末尾增加以下两行代码
export PATH="/usr/local/cuda-11.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH"
:wq # 退出保存
目录注意改成自己的
立即生效(或重启服务器生效)
source .bashrc
或
source /etc/profile
3.验证安装成功 nvcc -V (注意 是大V),结果如下
3. cudnn安装
下载cudnn:https://developer.nvidia.com/zh-cn/cudnn
在链接中选择“Library for Linux”
然后执行以下命令
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include 注意,解压后的文件夹名称为cuda ,将对应文件复制到 /usr/local中的cuda内
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
判断是否安装成功:
cat /usr/local/cuda-11.3/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
如果没有反应就说明安装失败
4.源码安装pytorch
直接参考pytorch.org中的源码安装就行
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?