PaddlePaddle gpu安装
安装环境
- ubuntu16.04 -TLS
- CUDA-8.0(https://developer.nvidia.com/cuda-80-ga2-download-archive) 下载run版本
- cuDNN v5 (May 27, 2016)
for Linux(https://developer.nvidia.com/rdp/cudnn-archive)
步骤
1.安装并升级pip到最新版本
2.安装cuda
- 安装nvidia驱动
选择invidia驱动,选取方式参考显卡驱动
在shell中输入
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev
nvidia-smi
- 输出
nvidia-settings
- 输出
现在驱动安装好了,开始安装cuda
上文安装环境中选择 ubuntu16的run版本
sudo cuda_8.0.61_375.26_linux.run
在安装界面中,可参照下面的描述进行选择
Do you accept the previously read EULA?
accept/decline/quit: accept
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?
(y)es/(n)o/(q)uit: n
Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y
Enter Toolkit Location
[ default is /usr/local/cuda-8.0 ]:
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: n
Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y
...下面选默认地址直接回车即可
- 添加环境变量
安装结束后,添加环境变量 .bashrc或者 /etc/profile 最后添加,我不清楚所以都加了。
export PATH="/usr/local/cuda-8.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH"
- 检测cuda是否安装成功
- 方案1(我没有成功,但根据提示继续安装了)
重启终端后,执行nvcc -V,若显示以下信息,则安装cuda成功
- 方案1(我没有成功,但根据提示继续安装了)
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools, release 8.0, V8.0.61
- 方案2
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
输出下列信息则成功,最后输出PASS
root@zqb:/usr/local/cuda-8.0/samples/1_Utilities/deviceQuery# ./deviceQuery
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "GeForce GTX 850M"
CUDA Driver Version / Runtime Version 9.1 / 8.0
CUDA Capability Major/Minor version number: 5.0
Total amount of global memory: 4046 MBytes (4242604032 bytes)
( 5) Multiprocessors, (128) CUDA Cores/MP: 640 CUDA Cores
GPU Max Clock rate: 902 MHz (0.90 GHz)
Memory Clock rate: 900 Mhz
Memory Bus Width: 128-bit
L2 Cache Size: 2097152 bytes
Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 65536
Warp size: 32
Maximum number of threads per multiprocessor: 2048
Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent copy and kernel execution: Yes with 1 copy engine(s)
Run time limit on kernels: Yes
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Disabled
Device supports Unified Addressing (UVA): Yes
Device PCI Domain ID / Bus ID / location ID: 0 / 1 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.1, CUDA Runtime Version = 8.0, NumDevs = 1, Device0 = GeForce GTX 850M
Result = PASS
安装cuda完成,下面安装cudnn
3 cudnn安装
sudo tar xvf cudnn-8.0-linux-x64-v5.0-ga.tgz #使用命令将文件解压,也可右键提取
cd cuda/include #进入解压后的文件夹中的include文件夹中
sudo cp *.h /usr/local/include/ #拷贝文件到/usr/local/include/中
cd ../lib64
sudo cp lib* /usr/local/lib/
#添加权限,非常重要
cd /usr/local/include
sudo chmod a+r cudnn.h
cd /usr/local/lib
sudo chmod a+r libcudnn*
sudo ln -sf libcudnn.so.5.1.5 libcudnn.so.5 #建立软链接
sudo ln -sf libcudnn.so.5 libcudnn.so
sudo ldconfig
若执行后三条语句导致无法移动 查看相关文章 删除软链接
添加环境变量,整体如下
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
安装paddlepaddle gpu
pip install paddlepaddle-gpu
之后测试是否可用gpu版的paddlepaddle,若遇到问题,显示缺少mkl,则可能需要安装
接着安装cmake和doxygen
sudo apt-get install Cmake
sudo apt-get install Doxygen
cd scripts && ./prepare_mkl.sh && cd ..
现在之前下载好的mkl文件夹里面建立一个external文件夹。下载好现在的这个文件后解压(双击->提取),将加压后的文件夹里面的内容,copy到external文件夹中。
回到mkl目录下,接着建立一个bulid文件夹,进行编译
mkdir -p build && cd build && cmake .. && make
接着测试我们的编译文件是否有效,使用
sudo make test #过程慢 可按crtl+c停止
最后安装
sudo make install
参考文献
- [1]:https://blog.csdn.net/vvyuervv/article/details/60755653
- [2]: https://blog.csdn.net/zhyj3038/article/details/52494892
- [3]: https://www.cnblogs.com/alexanderkun/p/6908191.html
- [4]: https://blog.csdn.net/qq_17550379/article/details/78547648
- [5]: https://www.linuxidc.com/Linux/2017-10/147618.htm
- [6]: https://blog.csdn.net/huang826336127/article/details/78754767
- [7]:https://blog.csdn.net/u010837794/article/details/63251725
- [8]:http://geek.csdn.net/news/detail/242639