cuda8和cuda10切换 以及正确按照配置cuDNN

切换至 cuda-8.0
sudo rm -rf /usr/local/cuda
sudo ln -s /usr/local/cuda-8.0 /usr/local/cuda
nvcc --version
which nvcc

切换至 cuda-10.0
sudo rm -rf /usr/local/cuda
sudo ln -s /usr/local/cuda-10.0 /usr/local/cuda
nvcc --version
which nvcc

为什么需要安装cudnn
cuDNN的全称为NVIDIA CUDA? Deep Neural Network library,是NVIDIA专门针对深度神经网络(Deep Neural Networks)中的基础操作而设计基于GPU的加速库。cuDNN为深度神经网络中的标准流程提供了高度优化的实现方式,例如convolution、pooling、normalization以及activation layers的前向以及后向过程。

cuDNN只是NVIDIA深度神经网络软件开发包中的其中一种加速库。想了解NVIDIA深度神经网络加速库中的其他包请戳链接https://developer.nvidia.com/deep-learning-software。

各深度学习框架安装cuDNN需知
基本上所有的深度学习框架都支持cuDNN这一加速工具,例如:Caffe、Caffe2、TensorFlow、Torch、Pytorch、Theano等。

Caffe可以通过修改Makefile.config中的相应选项来修改是否在编译Caffe的过程中编译cuDNN,如果没有编译cuDNN的话,执行一些基于Caffe这一深度学习框架的程序速度上要慢3-5倍(Caffe官网上说不差多少,明明差很多嘛)。Caffe对cuDNN的版本不是很严格,只要大于cuDNN 4就可以。

TensorFlow目前的版本r1.2,强行要求装cuDNN,而且对版本也有相应的限制(cuDNN 5.1)。不过就官方说明看,TensorFlow将在下一个版本r1.3中加入对cuDNN 6.0的支持。

Torch通过LuaJit可以自动检测目前系统中的cuDNN版本来进行相应的编译(如没有cuDNN,也可在进行Torch的安装)。

如何安装cudnn
首先说一下网上大多数中文安装cuDNN教程的错误方式,这种方式真的坑人无数。

简单地说网上的大多错误的安装cuDNN的方式都是将下载后的cuDNN压缩包解压。然后再将cudnn的头文件(cuda/include目录下的.h文件)复制到cuda安装路径的include路径下,将cudnn的库文件(cuda/lib64目录下的所有文件)复制到cuda安装路径的lib64路径下。这种方法如果不重置cuDNN相应的符号链接的话是不能成功的安装cuDNN的。

下面我们说一下正确的安装cuDNN方式,其实跟着官方安装说明进行安装就可以了。

从https://developer.nvidia.com/cudnn上下载cudnn相应版本的压缩包(可能需要注册或登录)。

如果这个压缩包不是.tgz格式的,把这个压缩包重命名为.tgz格式。解压当前的.tgz格式的软件包到系统中的任意路径(这个路径很重要,以下将该路径的绝对路径简称为/your/path/to/cudnn),解压后的文件夹名为cuda,文件夹中包含两个文件夹:一个为include,另一个为lib64。
例如:我将这个压缩包解压在了/usr/local目录下,那么该文件的绝对路径为/usr/local/cuda

tar -zvxf archive_name.tar.gz -C /usr/local
1
将解压后的文件中的lib64文件夹关联到环境变量中。这一步很重要。
cd ~
sudo gedit .bashrc
1
2
在弹出的gedit文档编辑器(.bashrc中)中最后一行加入:

export LD_LIBRARY_PATH=/your/path/to/cuda/lib64:$LD_LIBRARY_PATH
1
其中/your/path/to/cudnn/lib64是指.tgz解压后的文件所在路径中的lib64文件夹。
保存更改的文件后,紧接着:

source .bashrc
1
再重启一下Terminal(终端),该步骤可以成功的配置cuDNN的Lib文件。

配置cuDNN的最后一步就是将解压后的cuDNN文件夹(一般该文件名为cuda)中的include文件夹(/your/path/to/cudnn/include)中的cudnn.h文件拷贝到/usr/local/cuda/include中,由于进入了系统路径,因此执行该操作时需要获取管理员权限。

打开终端,进入/your/path/to/cudnn/include。其中/your/path/to/cudnn/include指的是.tgz解压后的文件所在路径中的include文件夹。例如:

cd /YOUR/PATH/TO/cuda/include
sudo cp *.h /usr/local/cuda/include/
1
2
其中这里的cuda/include对于我自己的安装来说就是/your/path/to/cudnn/include。因为我将cudnn的.tgz压缩包解压到了home的当前用户的路径下,解压后的文件夹名为cuda。

之后,再重置cudnn.h文件的读写权限:

sudo chmod a+r /usr/local/cuda/include/cudnn.h
1
至此,cuDNN的配置就全部安装完成了。

另外:
查看cuda版本的方法:

cat /usr/local/cuda/version.txt
1
查看cudnn版本的方法:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

原文地址:https://www.cnblogs.com/superfly123/p/11624467.html

时间: 2024-10-08 02:40:14

cuda8和cuda10切换 以及正确按照配置cuDNN的相关文章

【DATAGUARD】物理dg配置客户端无缝切换--Fast-Start Failover的配置

[DATAGUARD]物理dg配置客户端无缝切换--Fast-Start Failover的配置 一.2.2  实验环境介绍 项目 主库 dg库 db 类型 单实例 单实例 db version 11.2.0.3 11.2.0.3 db 存储 FS type FS type ORACLE_SID oradg11g oradgphy db_name oradg11g oradg11g 主机IP地址: 192.168.59.130 192.168.59.130 OS版本及kernel版本 RHEL6

PHP开发环境正确的配置方法

PHP语言在进行开发之前,需要将开发环境配置妥当,这样才能实现我们的程序完美运行.那么,如何正确的配置PHP开发环境呢?文章将介绍Apache.MySql.PHP的下载.安装及配置,分别讲述在windows和Linux环境下开发环境的搭建. 一.下载Apache.MySql和PHP 1.Apache的下载 Apache服务器可以通过官方提供的镜像地址来下载windows的Apache安装程序,不过都是英文版的,而且下载速度太慢.我建议大家去华军.天空或者中关村下载最新版的安装程序,速度很快. 2

ubuntu配置cudnn

参考网站: http://blog.sina.com.cn/s/blog_a5fdbf010102w7f6.html http://www.linuxidc.com/Linux/2015-04/116445.htm ubuntu配置cudnn 下载 https://developer.nvidia.com/rdp/cudnn-download 注册,下载,选择合适的版本. 用同样的方法尝试了cudnn-v3不行,cudnn-v4成功了. 解压 将下载后的文件cudnn-7.0-linux-x64

VS2013 配置CUDNN V4 DEMO

众所周知,当前主流深度学习的实现中调用的底层API都是cudnn,自己做项目需要开发深度学习模块时,也需要调用cudnn库,因此熟悉cudnn库是很有必要的. 从NVIDIA官方网站可以申请到CUDNN库与DEMO,通过研究DEMO,我们可以更好地使用CUDNN库. 下载CUDNN V4与DEMO 下载页面 需要注册一个开发者账户,流程很简单,这里不再赘述. 建议至少下载4个文件,win.linux.sample.doc cudnn-7.0-win-x64-v4.0-prod.zip cudnn

1虚拟机下U盘或磁盘挂载,Ubuntu下的网络配置,图形化界面和命令界面之间的切换,软件源配置

 一设置磁盘挂载(磁盘默认挂载到了/media目录下了) A:插入移动硬盘 B:对虚拟机进行设置(虚拟机->可移动设备àtoshibaExternal USB 3.0(这个是我的移动硬盘插上去之后显示的一项)à连接) 有时候出现以下现象 C:检测存储设备名称 sudofdisk –l E:挂载存储设备sdb1到挂载点/mnt目录下 sudomount /dev/sdb1 /mnt F:访问/mnt cd/mnt G:卸载/mnt sudo umount /mnt 二虚拟机下U盘或磁盘挂载,步

配置thinkphp对mysql线上线下切换不同环境的配置 - (mysql-thinkphp) (1)

1.先打印出配置项的信息,在Index控制器下面的index->index里面设置 namespace app\index\controller; class Index { public function index() { dump(config()); }} 2.在总入口文件,thinkphp是单入口文件(和vue很像,vue也是单html的),在public/index.php加一行 define('CONF_PATH', __DIR__.'/../conf/'); 3.在config或

如何在Eclipse正确安装配置PyDev插件的官方教程,以及error 问题的解决方法:

官方教程; 1 1 This manual assumes that you have already have Python and/or Jython and/or IronPython installed in your machine, as well as Eclipse. Manual topics: Installing from update site and zips uninstalling Configuring the interpreter specify the py

ubuntu 切换java环境,配置单独的用户环境

执行命令:sudo  update-alternatives --config javaThere are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status------------------------------------------------------------* 0 /usr/lib/jvm/java-8-openjdk-amd64/jre/bi

java环境变量如何进行正确的配置

一.如何安装JDK? 当我们从网络上DOWN下J2SE 5.0 JDK以后(是一个可执行文件,文件名叫做jdk-1_5_0-windows-i586.exe,当然这个名字会因为对应操作系统的不同而有所区别的,我使用的操作系统就是WINDOWS,大家发现了吗?),双击他就开始安装了.需要注意的就是选择安装路径的问题,通常我们将它安装在C盘根目录下(这也是安装程序默认的路径),其他的工作就是一个接一个地按NEXT啦. 二.搭建运行和开发环境 是不是当我们装完JDK以后就可以编写代码,准备编译运行了呢