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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

02-3解析BeautifulSoup

一、基本简介 BeautifulSoup简称:bs4什么是BeatifulSoup?  BeautifulSoup,和lxml一样,是一个html的解析器,主要功能也是解析和提取数据优缺点?  缺点:效率没有lxml的效率高  优点&#xff1…

Transformers实战——Datasets板块

文章目录 一、基本使用1.加载在线数据集2.加载数据集合集中的某一项任务3.按照数据集划分进行加载4.查看数据集查看一条数据集查看多条数据集查看数据集里面的某个字段查看所有的列查看所有特征 5.数据集划分6.数据选取与过滤7.数据映射8.保存与加载 二、加载本地数据集1.直接加…

MARKDOWN

新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱…

vscode 配置 lua

https://luabinaries.sourceforge.net/ 官网链接 主要分为4个步骤 下载压缩包,然后解压配置系统环境变量配置vscode的插件测试 这里你可以选择用户变量或者系统环境变量都行。 不推荐空格的原因是 再配置插件的时候含空格的路径 会出错,原因是空格会断…

YOLOv5 配置C2模块构造新模型

🍨 本文为[🔗365天深度学习训练营学习记录博客 🍦 参考文章:365天深度学习训练营 🍖 原作者:[K同学啊] 🚀 文章来源:[K同学的学习圈子](https://www.yuque.com/mingtian-fkmxf/zxwb4…

html使用天地图写一个地图列表

一、效果图&#xff1a; 点击左侧地址列表&#xff0c;右侧地图跟着改变。 二、代码实现&#xff1a; 一进入页面时&#xff0c;通过body调用onLoad"onLoad()"函数&#xff0c;确保地图正常显示。 <body onLoad"onLoad()"><!--左侧代码-->…

电磁场与电磁波part2--电磁场的基本规律

1、电流连续性方程的微分形式 表明时变电流场是有散场&#xff0c;电流线是由电荷随时间变化的地方发出或终止的&#xff0c;在正电荷随时间减小的地方就会发出电流线&#xff0c;在正电荷随时间增加的地方就会终止电流线。 2、任何一个标量函数的梯度再求旋度时恒等于零&#…

【uniapp】华为APP真机运行(novas系列)

依华为手机为例&#xff0c;首先数据线连接电脑&#xff0c;然后在手机上做如下操作&#xff1a; 1&#xff09;打开设置 2&#xff09;设置——关于手机 3&#xff09;连续点击软件版本号&#xff0c;此时手机处于开发者模式 4) 回到设置——系统和更新 5&#xff09;点击开…

全球温度数据下载

1.全球年平均温度下载https://www.ncei.noaa.gov/data/global-summary-of-the-year/archive/ 2.全球月平均气温下载https://www.ncei.noaa.gov/data/global-summary-of-the-month/archive/ 3.全球日平均气温下载https://www.ncei.noaa.gov/data/global-summary-of-the-day/ar…

使用Sqoop命令从Oracle同步数据到Hive,修复数据乱码 %0A的问题

一、创建一张Hive测试表 create table test_oracle_hive(id_code string,phone_code string,status string,create_time string ) partitioned by(partition_date string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ,; 创建分区字段partition_date&#xff0c…

【Effective C++ 笔记】(四)设计与声明

【四】设计与声明 条款18 &#xff1a; 让接口容易被正确使用&#xff0c;不易被误用 Item 18: 让接口容易被正确使用&#xff0c;不易被误用 Make interfaces easy to use correctly and hard to use incorrectly. “让接口容易被正确使用&#xff0c;不易被误用”&#xff0…

C语言日记——调试篇

一、调试调试的基本步骤 发现程序错误的存在 以隔离、消除等方式对错误进行定位 确定错误产生的原因 提出纠正错误的解决办法 对程序错误予以改正&#xff0c;重新测试 二、Debug和Release Debug通常称为调试版本&#xff0c;它包含调试信息&#xff0c;并且不作任何优化…

数据结构C语言之线性表

发现更多计算机知识&#xff0c;欢迎访问Cr不是铬的个人网站 1.1线性表的定义 线性表是具有相同特性的数据元素的一个有限序列 对应的逻辑结构图形&#xff1a; 从线性表的定义中可以看出它的特性&#xff1a; &#xff08;1&#xff09;有穷性&#xff1a;一个线性表中的元…

线程状态及线程之间通信

线程状态概述 当线程被创建并启动以后&#xff0c;它既不是一启动就进入了执行状态&#xff0c;也不是一直处于执行状态。在线程的生命周期中&#xff0c; 有几种状态呢&#xff1f;在 java.lang.Thread.State 这个枚举中给出了六种线程状态&#xff1a; 线程状态 导致状态发生…

Objectarx 使用libcurl请求WebApi

因为开发cad需要请求服务器的数据&#xff0c;再次之前我在服务器搭设了webapi用户传递数据&#xff0c;所以安装了libcurl在objectarx中使用数据。 Open VS2012 x64 Native Tools Command Prompt补充地址&#xff1a; 我在此将相关的引用配置图片&#xff0c;cad里面的应用和…

Linux中的进程等待(超详细)

Linux中的进程等待 1. 进程等待必要性2. 进程等待的方法2.1 wait方法2.2 waitpid方法 3. 获取子进程status4. 具体代码实现 1. 进程等待必要性 我们知道&#xff0c;子进程退出&#xff0c;父进程如果不管不顾&#xff0c;就可能造成‘僵尸进程’的问题&#xff0c;进而造成内…

UE的PlayerController方法Convert Mouse Location To World Space

先上图&#xff1a; Convert Mouse Location To World这是PlayerController对象中很重要的方法。 需要说明的是两个输出值。 第一个是World Location&#xff0c;这是个基于世界空间的位置值&#xff0c;一开始我以为这个值和当前摄像机的位置是重叠的&#xff0c;但是打印出来…

kaggle项目部署

目录 流程详细步骤注意事项 流程 修改模块地址打包项目上传到kaggle Datasets创建code文件&#xff0c;导入数据与项目粘贴train.py文件&#xff0c;调整超参数&#xff0c;选择GPUsave version&#xff0c;后台训练查看训练结果 详细步骤 打开kaggle网站&#xff0c;点击da…

号卡分销管理系统搭建

随着移动互联网的发展&#xff0c;各种手机应用层出不穷&#xff0c;其中包括了很多用于企业管理的软件。号卡系统分销管理软件就是其中的一种。它是一种基于移动互联网的企业管理软件&#xff0c;能够帮助企业进行号卡的分销管理&#xff0c;从而提高企业的效率和竞争力。 …

抖音快手判断性别、年龄自动关注脚本,按键精灵开源代码!

这个是支持抖音和快手两个平台的&#xff0c;可以进入对方主页然后判断对方年龄和性别&#xff0c;符合条件的关注&#xff0c;不符合条件的跳过下一个ID&#xff0c;所以比较精准&#xff0c;当然你可以二次开发加入更多的平台&#xff0c;小红书之类的&#xff0c;仅供学习&a…