Linux下非root用户安装CUDA

目录

前言

参考链接

步骤

一. 首先,需要查看系统版本:

二. 安装包下载。

下载CUDA:

 cuDNN下载

三. 开始安装CUDA和cuDNN 

安装CUDA

修改环境变量

安装 cuDNN

 查看是否安装成功,输入nvcc -V 


前言

由于一些代码实现(CUDA写的外部扩展包)对cuda版本要求比较高,因此,我在实验室Linux系统下默认的cuda版本上,没办法编译扩展包。需要重新安装特定版本的cuda。

参考链接

非root用户安装cuda与cudnn

非root用户在linux下安装CUDA10.1

步骤

一. 首先,需要查看系统版本:

lsb_release -a

  • 查看GPU信息
nvidia-smi

 GPU驱动版本为525.147.05
  最高支持CUDA版本12.0,不可以下载高于此版本的CUDA,否则需要升级驱动。

二. 安装包下载。

下载CUDA:

CUDA Toolkit Archive | NVIDIA Developer

 此时你可以选择在服务器上输入

wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run

在服务器上进行下载,也可以选择在浏览器中输入wget后面的网址,然后在本地进行下载再上传至服务器。

 cuDNN下载

通过cuDNN Download下载CUDNN,这个下载需要注册账号(简单几步注册登录即可),登录以后,如下图选择合适的CUDA版本对应的CUDNN并选择CUDNN Library for Linux,开始下载。

 下载好以后可以将文件解压缩后压缩为zip格式后上传至服务器。

三. 开始安装CUDA和cuDNN 

现在在我们的服务器中已经有了CUDA和cuDNN的安装包了

安装CUDA

cuda可执行权限

chmod +x cuda_11.1.0_455.23.05_linux.run

运行run文件

./ cuda_11.1.0_455.23.05_linux.run

通过键盘方向键(↑,↓)和Enter键可以进行选择和进入(确定)。选择Continue并进入

 输入accept进入

 利用上下键与Enter勾选对话框,只安装CUDA Toolkit。

选择Options并进入,然后我们需要修改Toolkit Options 、Library install path这两项的路径。

 修改Toolkit Options路径,选择Change Toolkit Install Path 

 将默认路径修改至个人目录下,点击Enter确认

将下面的选项取消选定,选择Done,确认退出

 选择Library install path (Blank for system default)

 添加之前一样的路径并Enter确认退出

选择Done返回上一层目录,修改路径完成,选择Install开始安装 

 出现如下所示的安装信息则说明安装成功

修改环境变量

输入vim ~/.bashrc进行环境变量的修改;

添加一下信息(每个人的路径是不同的,我的是/data/dwl/cuda-11.1.0/)并保存退出。

export CUDA_HOME=$CUDA_HOME:/data/dwl/cuda-11.1.0
export PATH="/data/dwl/cuda-11.1.0/bin:$PATH"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/dwl/cuda-11.1.0/lib64

 

输入source ~/.bashrc 

注意 :

vim编辑器使用指南:

  • vi XXX //打开并编辑文件
  • 按i进入编辑模式
  • 编辑好文本后按Esc,退出插入状态。
  • 保存退出:输入冒号,输入WQ(write,quit)或X(x==wq)回车,或者按了ESC后,直接按shift+zz,或者切换到大写模式按ZZ
  • 文本没改动退出:Esc+冒号+q
  • 不保存退出:Esc+冒号+q!

安装 cuDNN

解压cuDNN

复制文件到CUDA安装目录

cp cudnn-*-archive/include/cudnn*.h /data/dwl/cuda-11.1.0/include
$ cp -P cudnn-*-archive/lib/libcudnn* /data/dwl/cuda-11.1.0/lib64
$ chmod a+r /data/dwl/cuda-11.1.0/include/cudnn*.h /data/dwl/cuda-11.1.0/lib64/libcudnn*

 最后一句是修改权限,cudnn安装完成

 查看是否安装成功,输入nvcc -V 

 可使用which nvcc查看cuda的安装路径

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

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

相关文章

Java之SpringCloud Alibaba【九】【Spring Cloud微服务Skywalking】

Java之SpringCloud Alibaba【一】【Nacos一篇文章精通系列】跳转Java之SpringCloud Alibaba【二】【微服务调用组件Feign】跳转Java之SpringCloud Alibaba【三】【微服务Nacos-config配置中心】跳转Java之SpringCloud Alibaba【四】【微服务 Sentinel服务熔断】跳转Java之Sprin…

Java Web 实战 19 - What‘s HTTP ?

Whats HTTP ? 一 . HTTP 是什么 ?1.1 理解 HTTP 协议的工作过程1.2 HTTP 的报文格式1.2.1 准备工作1.2.2 认识 HTTP 协议的报文详情请求报文请求响应 二 . HTTP 请求报文2.1 URLURL 的 encode 2.2 HTTP 协议中的方法GETPOST常见面试题 : GET 和 POST 之间的区别 2.3 认识请求…

关于修改了mysql的my_conf文件之后,不能生效问题

个人名片: 🐅作者简介:一名大三在校生,热爱生活,爱好敲码! \ 💅个人主页 🥇:holy-wangle ➡系列内容: 🖼️ tkinter前端窗口界面创建与优化 &…

os.path.join函数用法

os.path.join()是Python中用于拼接文件路径的函数,它可以将多个字符串拼接成一个路径,并且会根据操作系统的规则自动使用合适的路径分隔符。 注:Linux用的是/分隔符,而Windows才用的是\。 该函数属于os.path模块,因此在…

基于单片机的自动变速箱电控系统

**单片机设计介绍, 基于单片机的自动变速箱电控系统 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的自动变速箱电控系统是一种通过单片机来控制车辆自动变速箱的系统。它借助传感器和单片机的协同工作&am…

服务容错之限流之 Tomcat 限流 Tomcat 线程池的拒绝策略

在文章开头,先和大家抛出两个问题: 每次提到服务限流为什么都不考虑基于 Tomcat 来做呢?大家有遇到过 Tomcat 线程池触发了拒绝策略吗? JUC 线程池 在谈 Tomcat 的线程池前,先看一下 JUC 中线程池的执行流程&#x…

Java中利用OpenCV进行人脸识别

OpenCV 概述 ​ OpenCV(Open Source Computer Vision Library)是一个开源计算机视觉库,它提供了丰富的工具和算法,用于处理图像和视频数据。该库由一系列高效的计算机视觉算法组成,涵盖了许多领域,包括目…

修改服务器端Apache默认根目录

目标:修改默认Apache网站根目录 /var/www/html 一、找到 DocumentRoot “/var/www/html” 这一段 apache的根目录,把/var/www/html 这个目录改 #DocumentRoot "/var/www/html" DocumentRoot "/home/cloud/tuya_mini_h5/build" 二、…

小程序如何添加打印机来打印订单

在采云小程序中,支持打印订单的小票、标签、发货单和电子面单。小票打印机用于打印小票,类似于超市小票、外卖小票等。标签打印机用于打印商品标签,类似于奶茶上面粘贴的标签,用于表示饮料名称和规格等。货单打印机用于打印发货单…

【好奇心驱动力】ESP8266驱动SG90舵机开关灯

0.前言 ESP8266弄丢了好几个都忘记放在哪,重新买了个typeC接口的方便多了,看到驱动SG90舵机作为智能开关,简单复现了一下,代码比较简单,没有连接小爱同学或者其他语音助手。 1.实验方法 ESP8266连接SG90舵机&#x…

32位单片机PY32F040,主频72M,外设丰富,支持断码LCD

PY32F040 系列微控制器采用高性能的 32 位 ARM Cortex-M0 内核,宽电压工作范围的 MCU。嵌入高达 128 Kbytes flash 和 16 Kbytes SRAM 存储器,最高工作频率 72 MHz。LQFP64封装两块出头就可以拿到,我们还有开发板和开发资料帮助客户更好的开发。 PY32F040 系列微控…

C# NAudio 音频库

C# NAudio 音频库 NAudio安装NAudio简述简单示例1录制麦克风录制系统声卡WAV格式播放MP3格式播放AudioFileReader读取播放音频MediaFoundationReader 读取播放音频 NAudio安装 项目>NuGet包管理器 搜索NAudio点击安装,自动安装依赖库。 安装成功后工具箱会新增…

视频推拉流EasyDSS直播点播平台获取指定时间快照的实现方法

视频推拉流直播点播系统EasyDSS平台,可提供流畅的视频直播、点播、视频推拉流、转码、管理、分发、录像、检索、时移回看等功能,可兼容多操作系统,在直播点播领域具有广泛的场景应用。为了便于用户集成、调用与二次开发。 今天我们来介绍下在…

KT148A语音芯片使用串口uart本控制的完整说明_包含硬件和指令举例

一、功能简介 KT148A肯定是支持串口的,有客户反馈使用一线还是不方便,比如一些大型的系统不适合有延时的操作,所以更加倾向于使用uart控制,这里我们也给出解决方案 延伸出来另外一个版本,KT158A 注意次版本芯片还是…

ArcGIS Maps SDK for JS:监听图层的visible属性

文章目录 1 问题描述2 解决方案3 拓展 1 问题描述 近期有这么一个需求。在 ArcGIS Maps SDK for JavaScript 中,使用图层的visible属性同步显示某个组件,即打开图层时显示组件,关闭图层时隐藏组件。 首先想到的是,通过点击图层列…

HTTP 到 HTTPS 再到 HSTS 的转变

近些年,随着域名劫持、信息泄漏等网络安全事件的频繁发生,网站安全也变得越来越重要,也促成了网络传输协议从 HTTP 到 HTTPS 再到 HSTS 的转变。 HTTP HTTP(超文本传输协议) 是一种用于分布式、协作式和超媒体信息系…

OpenAI的多函数调用(Multiple Function Calling)简介

我在六月份写了一篇关于GPT 函数调用(Function calling) 的博客https://blog.csdn.net/xindoo/article/details/131262670,其中介绍了函数调用的方法,但之前的函数调用,在一轮对话中只能调用一个函数。就在上周,OpenAI…

Ubuntu22.04 部署Mqtt服务器

1、打开Download EMQX (www.emqx.io)下载mqtt服务器版本 2、Download the EMQX repository curl -s https://assets.emqx.com/scripts/install-emqx-deb.sh | sudo bash 3.Install EMQX sudo apt-get install emqx 4.Run EMQX sudo systemctl start…

开源与闭源:数字化时代的辩论与未来走向

在当今的数字化时代,关于开源和闭源软件的辩论一直是技术界的热门话题。 特斯拉CEO马斯克最近也加入了这场辩论,公开表示OpenAI不应该闭源,而他自己的首款聊天机器人将选择开源。 这引发了人们对开源与闭源软件的进一步思考:开源是…

《全程软件测试 第三版》拆书笔记

第一章 对软件测试的全面认识,测试不能是穷尽的 软件测试的作用: 1.产品质量评估;2.持续质量反馈;3.客户满意度提升;4.缺陷的预防 正反思维:正向思维(广度,良好覆盖面)逆…