一、由于实验室大家使用的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,如何不冲突的问题?

  1. 首先CUDA按照网上的安装步骤一般都会被安装到/usr/local目录下
  2. 其次解压你的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版本)的更多相关文章

  1. Linux 和 Windows 查看 CUDA 和 cuDNN 版本

    目录 Linux 查看 CUDA 版本 查看 cuDNN 版本 Windows 查看 CUDA 版本 查看 cuDNN 版本 References Linux 查看 CUDA 版本 方法一: nvcc ...

  2. 解析 Linux 内核可装载模块的版本检查机制

    转自:http://www.ibm.com/developerworks/cn/linux/l-cn-kernelmodules/ 为保持 Linux 内核的稳定与可持续发展,内核在发展过程中引进了可 ...

  3. 查看apache、linux、kernel、nginx等版本

    查看apache版本 /usr/sbin/apachectl -v httpd -v 安装目录,使用apachectl -v   查看mysql版本 mysql –help | grep Distri ...

  4. Linux(Fedora)下NodeJs升级最新版本(制定版本)

    Linux(Fedora)下NodeJs升级最新版本(制定版本) 首先安装n模块: npm install -g n 升级node.js到最新稳定版 n stable 升级node.js到制定版本 n ...

  5. Linux系统入门教程:如何在 Linux 中修改默认的 Java 版本

    提问:当我尝试在Linux中运行一个Java程序时,我遇到了一个错误.看上去像程序编译所使用的Java版本与我本地的不同.我该如何在Linux上切换默认的Java版本? 当Java程序编译时,编译环境 ...

  6. Linux下查看网卡驱动和版本信息

    Linux下查看网卡驱动和版本信息 查看网卡生产厂商和信号 查看基本信息:lspci 查看详细信息:lspci -vvv # 3个小写的v 查看网卡信息:lspci | grep Ethernet 查 ...

  7. Linux下切换使用两个版本的JDK

    Linux下切换使用两个版本的JDK 我这里原来已经配置好过一个1.7版本的jdk. 输出命令: java -version [root@hu-hadoop1 sbin]# java -version ...

  8. linux centos系统下升级python版本

    本文参考资料:https://www.cnblogs.com/leon-zyl/p/8422699.html,https://blog.csdn.net/tpc1990519/article/deta ...

  9. Linux虚拟机安装配置手册(版本:7.3)

    一.准备 ①.安装VMWare 安装步骤省略.我这里使用的版本如下: ②.Linux系统镜像文件: 建议使用最新版本的Linux系统.有些组件对系统内核版本要求比较高,有可能会产生错误. 我这里使用的 ...

随机推荐

  1. 解决vue项目打包后背景图片找不到的问题

    在build->webpack.base.conf.js里添加一句代码: 具体位置在module->rules下 publicPath:"../../",

  2. 001.FTP简介及相关文件

    一 FTP简介 FTP(File Transfer Protocol)文件传输协议,用于Internet上控制文件的双向传输. 下载:远程主机拷贝文件至本地: 上传:本地主机拷贝文件至远程. 二 FT ...

  3. MySQL服务器SSD性能问题分析与测试

    [问题] 我们有台HP的服务器,SSD在写IOPS约5000时,%util达到80%以上,那么这块SSD的性能究竟有没有问题,为解决这个问题做了下面测试. [工具] blktrace是linux下用来 ...

  4. C# Activex调用USB摄像头--附带源码

    前言 最近在整理一些自己写过的东西,也算是重新熟悉一下并且优化一下吧. 需求:获取本地USB摄像头视频显示,并且获取图片数据给底层做人脸识别. 记得当时直接采用H5已经做好了,调试好了....结果放上 ...

  5. 入门智能家居,从 IFTTT 到 HomeKit 自动化(二)

    入门智能家居,从 IFTTT 到 HomeKit 自动化(二)   目录 0. HomeKit.HomeBridge.HomeAssistant 分别是什么?关系是什么? 1. 开始前的准备 2. 整 ...

  6. BZOJ.4516.[SDOI2016]生成魔咒(后缀数组 RMQ)

    题目链接 后缀自动机做法见这(超好写啊). 后缀数组是可以做的: 本质不同的字符串的个数为 \(子串个数-\sum_{ht[i]}\),即 \(\frac{n(n+1)}{2}-\sum_{ht[i] ...

  7. Spring使用注解方式注入多例的方式

    目前Spring+Netty的开发方式这么火热,想把Netty注册成Spring组件就一定得用多例的方式,我不由得想吐槽明明这么常见的需求网上相关博客都少的很,这里给出Spring使用注解注入多例的方 ...

  8. 华为交换机VRRP配置实例收集(转)

    示例图: 其实说白了就是做线路冗余,达到热备切换. 组网需求: 楼层1和楼层2分别通过两条线路做冗余接入交换机(本示例只考虑vrrp,暂不考虑其他方面).当其中一段链路故障时,能通过另外一条链路传输. ...

  9. MikroTik RouterOS授权级别

    抄了一份来自淘宝代理商的说明: P系列许可级别(适用于联网的虚拟机,如:云主机,虚拟机,VPS等) 您必须在MikroTik官网 https://mikrotik.com/client/ 上拥有一个帐 ...

  10. Consul功能简介

    Consul 是 HashiCorp 公司的一个用于实现分布式系统的服务发现与配置工具.Consul内置了服务注册与发现框 架.分布一致性协议实现.健康检查.Key/Value存储.多数据中心方案.由 ...