服务器配置多版本CUDA、CUdnn(不同Linux账户使用不同CUDA、CUdnn版本)
一、由于实验室大家使用的CUDA、CUdnn不同,所以需要在同一台服务器安装多个版本,而且要不引起冲突,方法如下:
1、一般来说CUDA安装在 /usr/local 目录下(当然你可以通过“echo $PATH”命令查询你的CUDA安装目录,一般来说CUDA的文件路径都会被写入到系统环境),如下图

其中cuda-8.0是我安装的版本(cuda是cuda-8.0的软链接,建立软链接的命令是:“ln -s cuda-8.0 cuda”),cuda-8.0-5.1是别人安装的版本。其中CUdnn在安装的时候一般都会被拷贝到相应的CUDA下面,如图所示,别的版本是CUDA8.0 CUdnn5.1,我的是CUDA8.0 CUdnn6.0(我忘了将CUdnn版本标在后面)
2、接下来,由于每个人的Linux账户不一样,你首先将你的CUDA、CUdnn安装到如上系统目录下(注意:CUdnn安装的时候一般会被拷贝到CUDA目录下),然后在你账户下:
# 先用vim打开.bashrc文件
vim ~/.bashrc
# 再将下面三句话粘贴进去(注意:假如你的安装目录不是cuda-8.0-5.1,则换成你的CUDA目录名称)
export PATH="$PATH:/usr/local/cuda-8.0-5.1/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-8.0-5.1/lib64/"
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/cuda-8.0-5.1/lib64"
如此一来,不同Linux账户可以使用不同的CUDA、CUdnn版本。其中cuda-8.0是各个账户默认使用的版本,如果你想要使用你自己的版本,则需要按照上述办法,先下载安装,再修改你的账户下的.bashrc文件中的PATH。
二、注意,有多个朋友咨询关于安装一个CUDA,多个cuDNN,如何不冲突的问题?
- 首先CUDA按照网上的安装步骤一般都会被安装到/usr/local目录下
- 其次解压你的cuDNN,会生成一个目录叫cuda(注意cuDNN解压后的目录是cuda,而不是cuDNN),然后原理就是你需要把cuda文件下的头文件cudnn.h和动态库文件libcudnn*分别复制到/usr/local目录下的CUDA文件夹中include目录和lib64目录(注意CUDA是CUDA下载后生成在/usr/local的文件夹,cuda是cuDNN解压后的文件夹名称),具体步骤如下面代码:
注意:本服务器中的/usr/local下的CUDA文件夹我建立软连接仍叫cuda
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ -d
所以按照以上原理,你只需要在/usr/local目录下,复制本机已有的CUDA文件夹,换一个你设定的名称,然后复制头文件和动态库文件,然后按照本篇教程开头的部分(即第一部分)设置你的账户下的.bashrc文件就可以
服务器配置多版本CUDA、CUdnn(不同Linux账户使用不同CUDA、CUdnn版本)的更多相关文章
- Linux 和 Windows 查看 CUDA 和 cuDNN 版本
目录 Linux 查看 CUDA 版本 查看 cuDNN 版本 Windows 查看 CUDA 版本 查看 cuDNN 版本 References Linux 查看 CUDA 版本 方法一: nvcc ...
- 解析 Linux 内核可装载模块的版本检查机制
转自:http://www.ibm.com/developerworks/cn/linux/l-cn-kernelmodules/ 为保持 Linux 内核的稳定与可持续发展,内核在发展过程中引进了可 ...
- 查看apache、linux、kernel、nginx等版本
查看apache版本 /usr/sbin/apachectl -v httpd -v 安装目录,使用apachectl -v 查看mysql版本 mysql –help | grep Distri ...
- Linux(Fedora)下NodeJs升级最新版本(制定版本)
Linux(Fedora)下NodeJs升级最新版本(制定版本) 首先安装n模块: npm install -g n 升级node.js到最新稳定版 n stable 升级node.js到制定版本 n ...
- Linux系统入门教程:如何在 Linux 中修改默认的 Java 版本
提问:当我尝试在Linux中运行一个Java程序时,我遇到了一个错误.看上去像程序编译所使用的Java版本与我本地的不同.我该如何在Linux上切换默认的Java版本? 当Java程序编译时,编译环境 ...
- Linux下查看网卡驱动和版本信息
Linux下查看网卡驱动和版本信息 查看网卡生产厂商和信号 查看基本信息:lspci 查看详细信息:lspci -vvv # 3个小写的v 查看网卡信息:lspci | grep Ethernet 查 ...
- Linux下切换使用两个版本的JDK
Linux下切换使用两个版本的JDK 我这里原来已经配置好过一个1.7版本的jdk. 输出命令: java -version [root@hu-hadoop1 sbin]# java -version ...
- linux centos系统下升级python版本
本文参考资料:https://www.cnblogs.com/leon-zyl/p/8422699.html,https://blog.csdn.net/tpc1990519/article/deta ...
- Linux虚拟机安装配置手册(版本:7.3)
一.准备 ①.安装VMWare 安装步骤省略.我这里使用的版本如下: ②.Linux系统镜像文件: 建议使用最新版本的Linux系统.有些组件对系统内核版本要求比较高,有可能会产生错误. 我这里使用的 ...
随机推荐
- date命令使用文档
date命令的帮助信息 [root@localhost source]# date --help用法:date [选项]... [+格式] 或:date [-u|--utc|--universal] ...
- 黑马程序员_java基础笔记(14)...交通灯管理系统_编码思路及代码
—————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流! —————————— 1,面试题——交通灯管理系统 模拟实现十字路口的交通灯管理系统逻辑,具体需求如下: ...
- 算法初级面试题01——认识时间复杂度、对数器、 master公式计算时间复杂度、小和问题和逆序对问题
虽然以前学过,再次回顾还是有别样的收获~ 认识时间复杂度 常数时间的操作:一个操作如果和数据量没有关系,每次都是固定时间内完成的操作,叫做常数操作. 时间复杂度为一个算法流程中,常数操作数量的指标.常 ...
- maven配置文件中modules的作用
modules 从字面意思来说,module就是模块,而pom.xml中的modules也正是这个意思,用来管理同个项目中的各个模块:如果maven用的比较简单,或者说项目的模块在pom.xml没进行 ...
- ETL数据清洗工具总结
[国外] 1. datastage点评:最专业的ETL工具,价格不菲,使用难度一般 下载地址:ftp://ftp.seu.edu.cn/Pub/Develop ... taStage.v7.5.1A- ...
- 【BZOJ-4530】大融合 线段树合并
4530: [Bjoi2014]大融合 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 280 Solved: 167[Submit][Status] ...
- Maven 项目不打包 *.hbm.xml 映射文件
使用 Maven 部署 Java Web 项目时,Hibernate 的映射文件 *.hbm.xml 没有被打包部署到目标目录下,解决方法:在 pom.xml 文件中 <build> 节点 ...
- 你的java/c/c++程序崩溃了?揭秘段错误(Segmentation fault)(3)
前言 接上两篇: 你的C/C++程序为什么无法运行?揭秘Segmentation fault (1) 你的C/C++程序为什么无法运行?揭秘Segmentation fault (2) 写到这里,越跟 ...
- FireDAC 下的 Sqlite [11] - 关于批量提交 SQL 命令的测试
可把下面代码直接贴在空白窗体上, 以快速完成窗体设计: object DBGrid1: TDBGrid Left = 0 Top = 0 Width = 265 Height = 338 Align ...
- JAVA泛型中的有界类型(extends super)(转)
JDK1.5中引入了泛型(Generic)机制.泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛型方法. Ja ...