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

参考博客:

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查看操作系统版

命令行输入

cat /proc/version

由此确定服务器linux操作系统的版本 可以看出本台服务器为Ubuntu20.04版本

后面在官网下载CUDA要用到

1.2查看服务器支持的CUDA的最高版本

nvidia-smi

本台服务器支持的CUDA的最高版本是12.0

后面在官网下载CUDA也要用到

二、CUDA的下载与安装

2.1 选择版本

转到CUDA官网 CUDA Toolkit Archive | NVIDIA Developer

我这里根据我的服务器选择的版本是12.0.0

点进去出现更详细的版本选择界面

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

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

2.2 下载安装包

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

一步一步运行

在命令行输入

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就好

命令行输入

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 键进入插入模式

修改后三行(对应的地方改成自己的路径)

export CUDA_HOME=$CUDA_HOME:/home/XXX/CUDA12.0.0export PATH="/home/XXX/CUDA12.0.0/bin:$PATH"export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/XXX/CUDA12.0.0/lib64

编辑好文本后按Esc,退出插入状态

输入冒号,输入wq 回车

11.
source ~/.bashrc

三、CUDNN安装与下载

3.1官网下载cudnn

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

cuDNN Archive | NVIDIA Developer

这个下载到自己的电脑 下载到本地就好

3.2本地解压(本地指自己的电脑区别于服务器)

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

3.3上传Cudnn文件

在服务器新建一个文件夹 例如我的是/home/XXX/Cudnn

把解压后的所有文件上传到所有文件夹里

我用的是Xftp 可以直接传输 如果不能建议搜一下其他博客如何通过命令行的指令传输

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

首先跳转到Cudnn文件夹下

cd /home/XXX/Cudnn

复制(换成自己的路径)

cp /home/XXX/Cudnn/include/cudnn.h /home/XXX/CUDA12.0.0/include/
​
cp /home/XXX/Cudnn/lib/libcudnn* /home/XXX/CUDA12.0.0**/lib64/

修改权限

chmod a+r /home/XXX/CUDA12.0.0/include/cudnn*.h
​
chmod a+r home/XXX/CUDA12.0.0/lib64/libcudnn*

第二条指令可能会报错,

如果报错,修改为:

chmod a+r /home/XXX/CUDA12.0.0/targets/x86_64-linux/lib/libcudnn*

查看是否安装成功

查看版本:

nvcc -V

出现版本信息表示安装成功

查看安装路径:

which nvcc

至此结束


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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/64245.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分立器件---运算放大器关键参数

运算放大器 关键参数 1、供电电压:有单电源电压、双电源电压,双电源电压尽量两个电源都接。如图LM358B,供电电压可以是20V或者是40V和GND。 2、输入偏置电流IB:当运放输出直流电压为零时,运放两个输入端流进或者流出直流电流的平均值。同向输入端电流IB+与反向输入端电流…

【数据结构——查找】二叉排序树(头歌实践教学平台习题)【合集】

目录😋 任务描述 相关知识 测试说明 我的通关代码: 测试结果: 任务描述 本关任务:实现二叉排序树的基本算法。 相关知识 为了完成本关任务,你需要掌握:二叉树的创建、查找和删除算法。具体如下: (1)由…

240004基于Jamva+ssm+maven+mysql的房屋租赁系统的设计与实现

基于ssmmavenmysql的房屋租赁系统的设计与实现 1.项目描述2.运行环境3.项目截图4.源码获取 1.项目描述 该项目在原有的基础上进行了优化,包括新增了注册功能,房屋模糊查询功能,管理员和用户信息管理等功能,以及对网站界面进行了优…

聊聊Oracle自适应查询优化

成也AQO败也AQO 因为工作的原因,我们接触到的客户大部分是金融和运营商行业,这些客户有个最大的特点是追求稳定,对于使用数据库新特性持保守的态度,不会轻易尝试某些可能会导致生产系统不稳定的新特性。上线前通常都会将一些新特…

电脑显示器选购指南2024

选择显示器是五花八门的显示参数,如何选择,以下给出参数说明,及部分参考: 1. 尺寸和分辨率 尺寸(英寸) 根据使用距离和用途选择合适的屏幕尺寸: 21-24 英寸:适合小桌面空间、日常…

(八)机器学习 - 线性回归

线性回归(Linear Regression)是一种统计学方法,用于建立一个或多个自变量(解释变量)与因变量(响应变量)之间的线性关系。线性回归的目的是通过最小化预测误差来找到最佳的线性拟合模型&#xff…

huggingface NLP-微调一个预训练模型

微调一个预训练模型 1 预处理数据 1.1 处理数据 1.1.1 fine-tune 使用tokenizer后的token 进行训练 batch tokenizer(sequences, paddingTrue, truncationTrue, return_tensors"pt")# This is new batch["labels"] torch.tensor([1, 1])optimizer A…

Unity NTPComponent应用, 实现一个无后端高效获取网络时间的组件

无后端高效获取网络时间的组件 废话不多说,直接上源码m_NowSerivceTime 一个基于你发行游戏地区的时间偏移, 比如北京时区就是 8, 巴西就是-3,美国就是-5using Newtonsoft.Json; 如果这里报错, 就说明项目没有 NewtonsoftJson插件…

华为ensp中nat server 公网访问内网服务器

作者主页:点击! ENSP专栏:点击! 创作时间:2024年4月15日17点30分 💯趣站推荐💯 前些天发现了一个巨牛的🤖人工智能学习网站,通俗易懂,风趣幽默,…

R语言学习笔记-1

1. 基础操作和函数 清空环境:rm(list ls()) 用于清空当前的R环境。 打印输出:print("Hello, world") 用于输出文本到控制台。 查看已安装包和加载包: search():查看当前加载的包。install.packages("package_na…

二、FIFO缓存

FIFO缓存 1.FIFO缓存介绍2.FIFO缓存实现3.FIFO缓存总结 1.FIFO缓存介绍 FIFO(First-In-First-Out)缓存 是一种简单的缓存淘汰策略,它基于先进先出的原则来管理数据。当缓存达到容量限制并需要淘汰元素时,最先进入缓存的元素会被移…

Spring Cloud与Spring Cloud Alibaba:全面解析与核心要点

Spring Cloud与Spring Cloud Alibaba:全面解析与核心要点 一、引言 在当今的分布式系统开发领域,Spring Cloud和Spring Cloud Alibaba都是极为重要的框架。它们为构建大规模、高可用、分布式的应用系统提供了丰富的工具和组件。本文将深入探讨Spring C…

账号下的用户列表表格分析

好的,这是您提供的 el-table 组件中所有列的字段信息,以表格形式展示: 列标题 (label)字段属性 (prop)对齐方式 (align)宽度 (width)是否可排序 (sortable)说明IDidcenter100否管理员的唯一标识符头像avatarcenter90否管理员的头像 URL 或路…

GPT-SoVITS语音合成模型部署及使用

1、概述 GPT-SoVITS是一款开源的语音合成模型,结合了深度学习和声学技术,能够实现高质量的语音生成。其独特之处在于支持使用参考音频进行零样本语音合成,即使没有直接的训练数据,模型仍能生成相似风格的语音。用户可以通过微调模…

TongWe7.0-东方通TongWeb控制台无法访问 排查

问题描述:无法访问TongWeb的控制台 逐项排查: 1、控制台访问地址是否正确:http://IP:9060/console #IP是服务器的实际IP地址 2、确认TongWeb进程是否存在,执行命令:ps -ef|grep tongweb 3、确认TongWeb服务启动…

研发文档管理系统:国内外9大选择比较

文章主要对比了9款国内外研发文档管理系统:1.PingCode; 2. Worktile; 3. 飞书; 4. 石墨文档; 5. 腾讯文档; 6. 蓝湖; 7. Confluence; 8. Notion; 9. Slab。 在企业研发过…

【ABAP SAP】开发-BUG修补记录_采购申请打印时品名规格品牌为空

项目场景: TCODE:自开发程序ZMMF004 采购申请打印 问题描述 ZMMF004打印的时候,有的采购申请的品名、规格、品牌为空 原因分析: 1、首先我通过写SQL语句查底表来看这几条采购申请本身有无品名、规格、品牌 SQL语句如下,只需修…

Ubuntu 20.04 24.04 双网卡 Bond 配置指南

前言:在现代服务器管理中,网络的稳定性和可靠性至关重要。为了提高网络的冗余性和负载能力,我们经常需要配置多个网络接口以实现链路聚合或故障转移。Ubuntu系统自17.10版本起,引入了Netplan作为新的网络配置抽象化工具&#xff0…

OCR实践—PaddleOCR

有个项目需求,对拍摄的问卷图片,进行自动得分统计【得分是在相应的分数下面打对号】,输出到excel文件 原始问卷文件见下图,真实的图片因使用手机拍摄的图片,存在一定的畸变, 技术调研 传统方法 传统方法…

ubuntu+ros新手笔记(五):初探anaconda+cuda+pytorch

深度学习三件套:初探anacondacudapytorch 系统ubuntu22.04 ros2 humble 1.初探anaconda 1.1 安装 安装过程参照【详细】Ubuntu 下安装 Anaconda 1.2 创建和删除环境 创建新环境 conda create -n your_env_name pythonx.x比如我创建了一个名为“py312“的环境…