linux非root安装特定版本的cuda

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

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

lsb_release -a

显示:

二. 去官网找到下载cuda toolkit的指令。

CUDA Toolkit Archive | NVIDIA Developer

依次选择,得到对应的版本。执行以下命令:不带sudo执行。

wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
sudo sh cuda_10.2.89_440.33.01_linux.run

等待一会后,输入accept,显示:

把x全部取消,只选择cuda toolkit。下一步要选择Options>>Toolkit Options>>change Toolkit Install Path>>将这里的默认改为自己在服务器上的路径文件夹。/home/songjiuman/cuda-10.2

回到上一步,全部取消,选择Done,然后Install。

出现错误,安装不上,修改安装命令如下:

sh cuda_10.2.89_440.33.01_linux.run --librarypath=/home/songjiuman/cuda-10.2

显示:

三. 去官网找到下载cudnn。

cuDNN Archive | NVIDIA Developer

下载后解压:

tar -xvf cudnn-10.2-linux-x64-v7.6.5.32.tgz

然后将cudnn的一些文件复制到 cuda的路径当中:

cp cuda/include/cudnn.h your_path/include/ #这里的your_path是安装cuda的绝对路径;默认为在这个文件夹下操作
例如cp cuda/include/cudnn.h /home/songjiuman/cuda-10.2/include/
cp cuda/lib64/libcudnn* your_path/lib64/
chmod a+r your_path/include/cudnn.h
chmod a+r your_path/lib64/libcudnn*

四. 修改环境变量。

vim ~/.bashrc
export PATH=/home/songjiuman/cuda-10.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/home/songjiuman/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/home/songjiuman/cuda-10.2
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/songjiuman/cuda-10.2/lib64
export LD_LIBRARY_PATH=/home/songjiuman/cuda-10.2/extras/CUPTI/lib64:$LD_LIBRARY_PATH

激活环境变量:

source ~/.bashrc
echo $CUDA_HOME

检查版本:

 

五:安装pytorch

Previous PyTorch Versions | PyTorch

创建一个虚拟环境:conda create -n xxx python=3.7

激活这个虚拟环境:conda activate xxx

# CUDA 10.2
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.2 -c pytorch

安装完成后,进入python环境,检查CUDA是否可用,调用torch.cuda.is_available()返回True说明CUDA环境可用。

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

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

相关文章

Python模板注入

概念 发生在使用模板引擎解析用户提供的输入时。模板注入漏洞可能导致攻击者能够执行恶意代码或访问未授权的数据。 模板引擎可以让(网站)程序实现界面与数据分离,业务代码与逻辑代码分离。即也拓宽了攻击面,注入到模板中的代码可…

LabVIEW利用人工神经网络辅助进行结冰检测

LabVIEW利用人工神经网络辅助进行结冰检测 结冰对各个领域构成重大威胁,包括但不限于航空航天和风力涡轮机行业。在起飞过程中,飞机机翼上轻微积冰会导致升力降低25%。研究报告称,涡轮叶片上的冰堆积可在19个月的运行时间内造成29MWh的功率损…

【微服务部署】四、Jenkins一键打包部署NodeJS(Vue)前端项目步骤详解

本文介绍使用Jenkins一键将NodeJS(Vue)前端项目打包并上传到生产环境服务器,这里使用的是直接打包静态页面,发送到远程服务器Nginx配置目录的方式,首先确保服务器环境配置好,安装Nginx,运行目录…

【线上问题】linux部署docker应用docker-compose启动报端口占用问题(感觉上没有被占用)

目录 一、问题说明二、排查过程 一、问题说明 1.linux服务器使用的不是root用户权限 2.docker应用服务没有关闭的情况下,做了些重装docker,重启docker等操作 3.docker-compose up -d然后docker logs查看日志报端口被占用 4.netstat -ntpl | grep 端口 也…

解决Ubuntu无法安装pycairo和PyGObject

环境:虚拟机Ubuntu20.04,vscode无法安装pycairo和PyGObject 虚拟机Ubuntu20.04,vscode中运行Anaconda搭建的vens 的Python3.8.10 首先在vscode中点击ctrlshiftp,选择Python3.8.10的环境,自动激活Python 最近在搞无人…

LeetCode474. 一和零

474. 一和零 文章目录 [474. 一和零](https://leetcode.cn/problems/ones-and-zeroes/)一、题目二、题解方法一:01背包方法二:01背包三维数组 一、题目 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的长度&…

第 362 场 LeetCode 周赛题解

A 与车相交的点 数据范围小直接暴力枚举 class Solution { public:int numberOfPoints(vector <vector<int>> &nums) {unordered_set<int> vis;for (auto &p: nums)for (int i p[0]; i < p[1]; i)vis.insert(i);return vis.size();} };B 判断能否…

DC/DC开关电源学习笔记(六)开关电源电路集成及封装工艺

(六)开关电源电路集成及封装工艺 1.集成工艺2.模块化3.新方向开关电源电路集成及封装工艺涉及到将电源电路的各个组成部分集成在一个芯片中,并对芯片进行封装的工艺过程。 1.集成工艺 在集成电路设计中,通常会将开关电源的主要功能模块如开关管、变压器、滤波电容、电感等…

普中 51 单片机点亮LED灯

普中 51 单片机 &#xff08;STC89C52RC&#xff09; LED / IO 将LED1进行闪烁操作 为啥要进行延时操作&#xff1f;依据人的肉眼余晖效应&#xff0c; 延时时间不能太短&#xff0c;否则就无法观察到 LED 闪烁 #include "reg52.h" typedef unsigned int u16; //对…

React中父子组件参数传递讲解

文章目录 结合案例&#xff1a;github搜索案例1.父容器代码2.搜索Search子模块代码3.展示Lisi子模块代码 父子参数传递分析1.子(Search)传父(App)2.父(App)传子(List) 结合案例&#xff1a;github搜索案例 案例结果展示如下图 1.父容器代码 import React, { Component } fr…

自己封装的reduce、map、foreach、filter、bind等方法

自己封装一些方法 reduce 方法map 方法forEach方法filter方法的封装bind方法的封装 reduce 方法 在这个自定义的 reduce 方法中&#xff0c;我们遵循了原生 reduce 方法的工作原理。我们接受三个参数&#xff1a;数组 arr&#xff0c;回调函数 callback 和初始值 initialValue…

【GO语言基础】前言

系列文章目录 【Go语言学习】ide安装与配置 【GO语言基础】前言 【GO语言基础】变量常量 【GO语言基础】数据类型 文章目录 系列文章目录一、基础知识包和函数函数声明语法简洁性 括号成对出现GO常用DOS命令命名规则项目目录结构注释 总结 一、基础知识 包和函数 //声明本代…

Python中使用item()方法遍历字典的例子

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 这篇文章主要介绍了Python中使用item()方法遍历字典的例子, for…in这种是Python中最常用的遍历字典的方法了,需要的朋友可以参考下 Python字典的遍历方法有好几种&#xff0c;其中一种是for…in&#xff0c;这个我就…

记录docker 部署nessus

1、开启容器 docker run -itd --nameramisec_nessus -p 8834:8834 ramisec/nessus 2、登录 &#xff1a;注意是https https://ip8843 3、修改admin密码 #进入容器 docker exec -it ramisec_nessus /bin/bash#列出用户名 /opt/nessus/sbin/nessuscli lsuser#修改密码&a…

Swift使用编解码库Codable

Codable 是 Swift 引入的全新的编解码库&#xff0c;使开发者更方便的解析JSON 或 plist 文件。支持枚举、结构体和类。 Codable协议定义 Codable代表一个同时符合 Decodable 和 Encodable 协议的类型&#xff0c;即可解码且可编码的类型。 typealias Codable Decodable &a…

python模块之 aiomysql 异步mysql

mysql安装教程 mysql语法大全 python 模块pymysql模块&#xff0c;连接mysql数据库 一、介绍 aiomysql 是一个基于 asyncio 的异步 MySQL 客户端库&#xff0c;用于在 Python 中与 MySQL 数据库进行交互。它提供了异步的数据库连接和查询操作&#xff0c;适用于异步编程环境 …

计算机网络(一):基础篇

文章目录 1. TCP/IP网络模型有哪几层并做简要介绍&#xff1f;2. 键入网址到网页显示&#xff0c;期间发生了什么&#xff1f;3. 介绍一下域名解析的工作流程&#xff1f;4. MAC发送方和接收方如何确认&#xff1f;5. 路由器和交换机的区别&#xff1f;6. Linux系统是如何收发网…

sqlserver union和union all 的区别

1.首先在数据库编辑1-40数字&#xff1b; 2.查询Num<30的数据&#xff0c;查询Num>20 and Num<40的数据&#xff0c;使用union all合并&#xff1b; 发现30-20的数字重复了&#xff0c;可见union all 不去重&#xff1b; 3.查询Num<30的数据&#xff0c;查询Num…

表的内连接和外连接

表的连接是SQL中的一种操作&#xff0c;用于将两个或多个表中的数据按照某个条件进行关联。 内连接 使用内连接将两个表(Table1 和 Table2)进行连接&#xff1a; select * from Table1 inner join Table2 on Table1.id Table2.id;举例&#xff1a; -- 用普通的写法 select…

idea右边找不到maven窗口(Idea_最右侧常用栏中没有Maven选项)

方案一&#xff1a; 首先idea自带了maven控件&#xff0c;不像Eclipse还需要下载控件&#xff0c;如果你以前有maven在右边&#xff0c;出于某种原因&#xff0c;消失找不到 了&#xff0c;你可以试试我写的方法。 方法1.你点击一下你idea界面最左下角的那个小框&#xff0c…