Linux下非root用户安装CUDA

news2024/12/26 5:49:01

目录

前言

参考链接

步骤

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

二. 安装包下载。

下载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 /usr/local/cuda/include/cudnn*.h /data/dwl/cuda-11.1.0/lib64/libcudnn*

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

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

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

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

相关文章

基于社会群体算法优化概率神经网络PNN的分类预测 - 附代码

基于社会群体算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于社会群体算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于社会群体优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神…

Google大法好

Google Search Central 前言: google的搜索方式: Google 是一款全自动搜索引擎,会使用名为“网页抓取工具”的软件定期探索网络,以找出可添加到 Google 索引中的网站。实际上,Google 搜索结果中收录的大多数网站都不…

BGP的基础知识

BGP——边界网关协议 IGP——内部网关协议——OSPF、RIP、ISIS EGP——外部网关协议——EGP、BGP 边界网关协议BGP是一种实现自治系统AS之间的路由可达,并选择最佳路由的路径矢量路由协议。目前在IPV4环境下主要使用BGPV4,目前市场上也存在BGPV4&…

uniapp优化h5项目-摇树优化,gzip压缩和删除console.log

1.摇树优化 勾选摇树优化,打包删除死代码 2.gzip压缩和删除console.log 安装插件webpack和compression-webpack-plugin webpack插件 npm install webpack4.46.0 --save-devcompression-webpack-plugin插件 npm install compression-webpack-plugin6.1.1 --save-devconst Com…

java+ 如何动态配置业务规则组

思路 1. 实现在页面上的动态配置规则组(2张数据表枚举类serviceimplaction) 2. 从数据库中表staffmoverules(规则明细表)或者staffmovetyperule(规则组表) ,根据传入类型,取出规则编…

[C/C++]数据结构 栈和队列()

一:栈 1.1 栈的概念及结构 栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作,进行数据插入和删除操作的一端称为栈顶,另一端称为栈底,栈中的数据元素遵守先进后出的原则. 压栈:栈的插入操作叫做进栈/压栈/入栈,将数据插入栈顶 出栈:栈的删除操作也叫出…

自学嵌入式,已经会用stm32做各种小东西了

自学嵌入式,已经会用stm32做各种小东西了 1、stm32 工程中,定义一个变量,记录复位次数,即复位一次变量加一。要求不许用备份寄存器和 flash 保存信息。本题只讨论不断电热启动情况,至于冷启动,不在此讨论。…

整理MLAI学习路径图

干货分享: 下面给出一个笔者自己整理的GitHub仓库:https://github.com/isLinXu/awesome-road-map,里面包含了一些可供参考的学习路径和思维导图,并整理微软、meta、谷歌、Kaggle以及华为、百度、阿里、腾讯、讯飞等相关的学习资源…

stm32入门建议跳过固件库去学习hal库吗?

stm32入门建议跳过固件库去学习hal库吗? 如果要以单片机作为以后的工作方向,建议还是深入了解一下单片机的原理与机制,比如串口收发的时候,内部的寄存器是怎么工作的,中断又是怎么工作的,然后我们又是怎么进行中断处…

【广州华锐互动】自然灾害科普3D体验展厅:培养安全意识,共创美好未来

在人类历史的进程中,灾难始终是我们不可避免的挑战。地震、洪水、火灾等自然灾害无情地摧毁我们的家园,带走我们的亲人。然而,随着科技的进步,我们已经有了更多的手段来预防和应对这些灾难。在这个背景下,自然灾害科普…

嵌入式系统中相关的高质量开源项目

关于GitHub,可能很多人误以为这是互联网人的专属,其实并不是,那上面嵌入式相关的开源项目是有很多的。现分享一些高星开源项目(像RT-Thread、AWTK等大家都熟知的就不介绍了):Avem 项目链接: ht…

实力进阶,教你使用thinkphp6开发一款商城系统

0.开篇 你好!很高兴你能点开这个教程,相信你对这个教程有了那么一点点兴趣,接下来占用你一点点时间,邀你浏览一下本章内容,希望能够让你更加有兴趣去学完这个教程。 作者我是一名九零后程序员,搬砖了好几…

山西电力市场日前价格预测【2023-11-19】

1.日前价格预测 预测说明: 如上图所示,预测明日(2023-11-19)山西电力市场全天平均日前电价为591.63元/MWh。其中,最高日前电价为1500.00元/MWh,预计出现在16:45~20:45。最低日前电价为268.57元/MWh&#x…

简朴博客系统测试报告

文章目录 一. 项目简介二. 测试概要三. 测试环境四. 测试执行概况及功能测试1. 手工测试1.1 手动测试用例编写1.2 执行的部分测试用例 2. 自动化测试Selenium2.1 编写测试用例2.2 自动化测试代码 3. 测试结果 五. 发现的问题 一. 项目简介 简朴博客系统是采用前后端分离的方式…

美国经典人工智能教材第3版出版!

美国经典人工智能教材,人工智能的百科全书《人工智能》(第3版)出版!新增深度学习及人工智能编程等内容,理论阐释结合动手实践。 人工智能 第3版 关于作者 史蒂芬.卢奇(Stephen Lucci)拥有纽约…

FreeRtos 任务切换深入分析

一、背景知识: 1、任务切换包含三个基本流程:保护现场、更新TCB、恢复现场并跳转 2、freertos的任务切换是在xPortPendSVHandler 中断函数中完成的 3、中断函数在调用之前,硬件已经保存了r0,r1,r2,r3,r12,r14(LR),r15(pc),恢复…

深入理解Linux网络笔记(七):异常TCP连接建立情况、如何查看是否有连接队列溢出发生

本文为《深入理解Linux网络》学习笔记,使用的Linux源码版本是3.10,网卡驱动默认采用的都是Intel的igb网卡驱动 Linux源码在线阅读:https://elixir.bootlin.com/linux/v3.10/source 5、深度理解TCP连接建立过程(二) 4&…

顺序表(数据结构与算法)

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ 🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿&#x1…

【Spring】AOP进阶-JoinPoint和ProceedingJoinPoint详解

文章目录 1. 前言2. JoinPoint简介3. 获取被增强方法的相关信息4. ProceedingJoinPoint简介5. 获取环绕通知方法的相关信息6. 总结 1. 前言 在Spring AOP中,JoinPoint和ProceedingJoinPoint都是关键的接口,用于在切面中获取方法的相关信息以及控制方法的…

国科大数据挖掘期末复习——聚类分析

聚类分析 将物理或抽象对象的集合分组成为由类似的对象组成的多个类的过程被称为聚类。由聚类所生 成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。 聚类属于无监督学习(unsupervised learning&…