Linux 服务器下非root用户安装CUDA完备流程(多次踩雷经验总结) ...

打印 上一主题 下一主题

主题 550|帖子 550|积分 1650

参考博客:
linux下安装cuda和cudnn(非root权限)_cuda下载安装 远程服务器 linux-CSDN博客
Linux下非root用户安装CUDA_linux下cuda-toolkit-archive-CSDN博客
非root用户安装cuda10.1,以及CUDA差别版本间切换_非root用户.run文件怎么安装-CSDN博客
前言(关于为什么会有这篇博客)

深度学习免不了必要CUDA加速,但是在诸多的CUDA安装教程中利用的都是sudo下令,服务器只有一个管理员,非管理员用户无法利用sudo下令,更新和安装CUDA通常会出现如下报错
不在 sudoers 文件中。此事将被报告。

一、清楚服务器的版本

1.1查看操纵系统版

下令行输入
  1. cat /proc/version
复制代码

由此确定服务器linux操纵系统的版本 可以看出本台服务器为Ubuntu20.04版本
后面在官网下载CUDA要用到
1.2查看服务器支持的CUDA的最高版本

  1. nvidia-smi
复制代码

本台服务器支持的CUDA的最高版本是12.0
后面在官网下载CUDA也要用到
二、CUDA的下载与安装


2.1 选择版本

转到CUDA官网 CUDA Toolkit Archive | NVIDIA Developer
我这里根据我的服务器选择的版本是12.0.0

点进去出现更具体的版本选择界面

根据本身服务器版本选(前面说过如何查看服务器版本了)

由于没有sudo权限,所以安装类型选择runfile(组里的师兄告诉的)其他的安装方式我也没有尝试
2.2 下载安装包

这时候会发现下面出现了安装指令

一步一步运行
在下令行输入
  1. wget https://developer.download.nvidia.com/compute/cuda/12.0.0/local_installers/cuda_12.0.0_525.60.13_linux.run
复制代码
过一会发现文件下载到了当前用户的目录下


2.3 安装runfile文件

在安装之前要新建一个CUDA的文件夹 用来作为安装路径 否则默认安装路径没有权限也会以报错
如上图,我的路径是home/XXX/CUDA12.0.0(后面要考)
接下来就是安装
会发现直接利用官网给出的下令会报错 由于没有sudo权限
很简单 去掉sudo就好
下令行输入
  1. sh cuda_12.0.0_525.60.13_linux.run
复制代码
(如果下载的和我不是一个版本 要换成本身下载的文件的名称)

这时候就进去了安装界面
问你accept嘛?就输入accept
后面的流程照着我的改(千万记得修改为本身的路径)
1.取消driver(空格 ENTER可以取消)


2.下键↓ 进入Options(ENTER 进入)

3.进入Toolkit Options


4.修改Toolkit路径(修改为新建文件夹路径)



5.Done退出


6.同理修改Library路径(也是新建文件夹的路径)

7.Done 退出

8.Install安装


9.出现如下字符安装成功


10.修改bashrc

下令行输入vim ~/.bashrc
按 i 键进入插入模式
修改后三行(对应的地方改成本身的路径)
  1. export CUDA_HOME=$CUDA_HOME:/home/XXX/CUDA12.0.0
  2. export PATH="/home/XXX/CUDA12.0.0/bin:$PATH"
  3. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/XXX/CUDA12.0.0/lib64
复制代码

编辑好文本后按Esc,退出插入状态
输入冒号,输入wq 回车
11.

  1. source ~/.bashrc
复制代码
三、CUDNN安装与下载

3.1官网下载cudnn

这里必要注册账号 ,没有什么会踩雷的地方,就跳过,直接进入下载步骤
cuDNN Archive | NVIDIA Developer

这个下载到本身的电脑 下载到本地就好
3.2本地解压(本地指本身的电脑区别于服务器)

解压两次 直到出现子文件夹

3.3上传Cudnn文件

在服务器新建一个文件夹 比方我的是/home/XXX/Cudnn
把解压后的所有文件上传到所有文件夹里
我用的是Xftp 可以直接传输 如果不能发起搜一下其他博客如何通过下令行的指令传输

3.4 复制文件:把Cudnn文件夹下的文件复制到CUDA下

首先跳转到Cudnn文件夹下
  1. cd /home/XXX/Cudnn
复制代码
复制(换成本身的路径)
  1. cp /home/XXX/Cudnn/include/cudnn.h /home/XXX/CUDA12.0.0/include/
  2. cp /home/XXX/Cudnn/lib/libcudnn* /home/XXX/CUDA12.0.0**/lib64/
复制代码
修改权限
  1. chmod a+r /home/XXX/CUDA12.0.0/include/cudnn*.h
  2. chmod a+r home/XXX/CUDA12.0.0/lib64/libcudnn*
复制代码
第二条指令可能会报错,

如果报错,修改为:
  1. chmod a+r /home/XXX/CUDA12.0.0/targets/x86_64-linux/lib/libcudnn*
复制代码
查看是否安装成功
查看版本:
  1. nvcc -V
复制代码

出现版本信息表示安装成功
查看安装路径:
  1. which nvcc
复制代码

至此竣事

第一次写博客 语言的专业性和精炼有待提拔 如果没有讲清楚的地方接待提问

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美食家大橙子

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表