linux cuda环境搭建

1,检查驱动是否安装

运行nvidia-smi,如果出现如下界面,说明驱动已经安装

记住cuda版本号

2,安装cudatoolkit

上官网CUDA Toolkit Archive | NVIDIA Developer 根据操作系统选择对应的toolkit

如果已经安装了驱动,选择的toolkit版本不要高于driver的cuda版本。如果未安装,选择一个较新的版本即可

选定版本后,网站上会出现安装指令,如下

复制代码
wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run
sh cuda_11.3.0_465.19.01_linux.run

如果已经安装了驱动,在安装过程中把驱动选项去掉。并且在安装完成后配置~/.bashrc,添加

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

source ~/.bashrc

安装完成后

运行nvcc --version验证是否安装成功

不要用apt install nvidia-cuda-toolkit安装,一般安装的版本会比较低。

3,安装cudnn

一般在安装tensorflow或者pytorch的gpu版本时会自动安装上cudnn。

如果提示找不到cudnn库,需要手动安装。上cuDNN Archive | NVIDIA Developer下载对应版本的库

解压后将lib目录下文件拷到/usr/local/cuda/lib64下,将include下文件拷到/usr/local/cuda/include下

备注

1,卸载toolkit

运行 /usr/local/cuda/bin/cuda-uninstaller

2,修改安装位置

sh cuda_11.3.0_465.19.01_linux.run --installpath=/mnt/mount/cuda

3,安装pytorch

conda install pytorch==1.12.1 torchvision==0.13.1 cudatoolkit=11.3 -c pytorch

此处选择的cudatoolkit版本与前面安装的对应上

验证是否安装成功

复制代码
import torch
​​​​​​​print(torch.__version__):查看torch版本
print(torch.cuda.is_available()):看安装好的torch和cuda能不能用,也就是看GPU能不能用

4,有时显卡内存占用明显大于nvidia-smi下显示的进程占用

可以用命令fuser -v /dev/nvidia* 查看所有占用显存的进程

5,Jitting卡住的问题

如果在之前运行这个程序时,趁加锁之后突然kill掉这个程序,导致它还没来得及释放锁,这样锁就会一直存在,导致后续所有程序都无法读取该库文件。

到~/.cache/torch_extensions/py310_cu113目录下找到lock文件删除

相关推荐
DevOpenClub37 分钟前
高考一分一段 API:分数查位次、科类枚举与历史对照
linux·数据库·高考
小贾要学习1 小时前
【C++后端开发项目】Reactor 模型 / C++ 仿写 muduo HTTP 服务器:让底层网络库真正跑起网页
linux·服务器·c++·http·网络编程·muduo·reactor模型
一只废狗狗狗狗狗狗狗狗狗1 小时前
生成式对抗网络GAN(Generative Adversarial Network)
人工智能·神经网络·生成对抗网络
Blockbuater_drug1 小时前
OpenMM分子动力学模拟02 安装:Linux:conda 一条命令装通 GPU 加速的分子模拟环境
linux·conda·cuda·gpu驱动·pythonpath·openmm安装
ZZHow10241 小时前
神经网络与深度学习笔记_Day1
人工智能·pytorch·笔记·python·深度学习·神经网络·机器学习
程序员JerrySUN1 小时前
PCIe Gen5 SSD 为什么读得快、写得慢?从存储原理到 Linux 性能实测
linux·服务器·网络
Android系统攻城狮1 小时前
Linux FFmpeg深度解析之avcodec_parameters_copy调用流程与实战(二十五)
linux·运维·服务器·ffmpeg·音视频·车载音频
在所不辞兄2 小时前
【人工智能驱动的电催化研究-01】人工智能是什么?AI、机器学习、深度学习和神经网络之间有什么区别?
人工智能·深度学习·神经网络·机器学习·有限元仿真·电化学·电催化
ITKEY_2 小时前
emacs 文件管理Dired, the Directory Editor
linux·编辑器·emacs
源图客2 小时前
解决CentOS操作系统网络异常问题
linux·运维·centos