在pcc上实验了cuda7和cuda6.5,结果kaldi(2015年3月版)似乎不兼容cuda7,在kaldi-trunk/src/cudamatrix下
make test 总是失败,最后安装的cuda6.5。
在pc上的kaldi(2014年10月以前)在cuda6.5下测试不通过,kaldi(2015年3月版)可以测试通过。
在pcc上的kaldi在gpu 0 上总报错,在gpu 1上可以,最后我拷贝的文鹏的没改过的cudamatrix/Makefile,并执行make -B 重新编译,可以用gpu 0了。
安装前准备 cuda_6.5.14_linux_64.run, 文件大小928M,这是pc服务器上保存安装包的位置。
928M pc-pc: /home/pc/disk2/hcq/install_cuda/cuda_6.5.14_linux_64.run
kaldi版本 2015年3月
ps: 可以通过运行 locate --regex cuda.*.run$ 来查找机器上别人以前下的cuda安装包。
一、安装 cuda
(1) 删除已有nvidia,拉黑名单
sudo apt-get remove --purge nvidia*
sudo nano /etc/modprobe.d/blacklist.conf
blacklist.conf加入
(2) 开始安装
sudo service lightdm stop
chmod +x cuda_6.5.14_linux_64.run
sudo ./cuda_6.5.14_linux_64.run
安装一路yes或默认配置。
成功提示:
===========
= Summary =
===========
Driver: Installed
Toolkit: Installed in /usr/local/cuda-6.5
Samples: Installed in /home/hcq, but missing recommended libraries
Please make sure that
To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-6.5/bin
To uninstall the NVIDIA Driver, run nvidia-uninstall
Please see CUDA_Getting_Started_Guide_For_Linux.pdf in /usr/local/cuda-6.5/doc/pdf for detailed information on setting up CUDA.
(3) 配置环境变量
按照上一步成功提示设置PATH和LD_LIBRARY_PATH 环境变量
sudo vim /etc/profile
/etc/profile加入
PATH= LD_LIBRARY_PATH:/usr/local/cuda-6.5/lib64
export PATH
export LD_LIBRARY_PATH
(4) 测试
1. /usr/local/cuda/bin/nvcc -V
显示所安装cuda版本:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2014 NVIDIA Corporation
Built on Thu_Jul_17_21:41:27_CDT_2014
Cuda compilation tools, release 6.5, V6.5.12
可以确定安装的版本为6.5
2. cd /home/hcq/NVIDIA_CUDA-6.5_Samples/
可以make 并进入相应子目录运行测试
例如: ./0_Simple/simplePrintf/simplePrintf 打印
GPU Device 0: "Quadro 600" with compute capability 2.1
Device 0: "Quadro 600" with Compute 2.1 capability
printf() is called. Output:
[3, 0]: Value is:10
[3, 1]: Value is:10
.....
[2, 6]: Value is:10
[2, 7]: Value is:10
二、kaldi带cuda编译
(1) 首先进入tools目录并按照INSTALL指示编译。如果之前已经编译过跳过此步骤(tools下的程序没有使用cuda库)。
(2) 进入src目录
1.make clean
2../configure
可以看到打印信息的最后有这么一行:
Using CUDA toolkit /usr/local/cuda (nvcc compiler and runtime libraries)
可以确定kaldi将要带cuda安装。
3. make depend -j 24
4. make -j 24
在 make -j 24 过程中如果有类似一下错误:
nvcc fatal : Unsupported gpu architecture 'compute_10'
则进入src/cudamatrix目录,修改Makefile,
把 CUDA_ARCH=-gencode arch=compute_10,code=sm_10 中的
-gencode arch=compute_10,code=sm_10 去掉。
重新 make -j 24。
(3) 如果以上步骤没有错误,则进入src/cudamatrix目录进行测试
make test -j 5
成功的话提示:
Running cu-vector-test ...... SUCCESS
Running cu-matrix-test ...... SUCCESS
Running cu-math-test ...... SUCCESS
以上参考自
http://blog.csdn.net/abcjennifer/article/details/23016583
Ubuntu12.04配置NVIDIA cuda5.5经验帖
分类: Computer System Linux &MAC Python2014-04-06 08:58 9938人阅读 评论(16) 收藏 举报
之前配过一遍都忘光了,现在要重新配一遍真是好难过。。。特此记录参考网站以便查阅。
=============
环境:Ubuntu 12.04+Cuda5.5
The setup of CUDA development tools on a system running the appropriate version of Linux consists of a few simple steps:
见官方配置手册: http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux/index.html
下run好了
[plain] view plaincopy
[plain] view plaincopy
blacklist.conf加入
[plain] view plaincopy
[plain] view plaincopy
Cuda5.5集成了toolkit,sdk和driver, 所以安装的时候一路同意下来就好了
也就是SDK安装失败,这个官方手册上也提到了解决方案。
[plain] view plaincopy
到根目录下的/path/to/extract/dir/去找cuda-samples_5.5.22_*******.run, 安装
[plain] view plaincopy
[plain] view plaincopy
使之生效:
source /etc/profile(对应profile)或sudo ldconfig(对应bashrc)
还有一种装sdk的方法见 http://askubuntu.com/questions/338907/how-to-install-cuda-5-5-under-ubuntu-12-04-lts-64-bit
deviceQuery:
正文最下方
=============
此外附上其他配置参考:
GPU占用没释放。服务器有八个gpu但是还是显示cuda没内存的原因是GPU占用没释放。解决方法:1、首先打开dos窗口(windows+R键)。
2、其次输入nvidia-smi命令获取GPU信息。
3、然后查看运行的processor。
4、最后关掉正在运行的processor,taskkill-PID进程号-F。
1、什么是CUDA
2、什么是CUDNN
3、CUDA与CUDNN的关系
4、CUDNN不会对CUDA造成影响
官方Linux安装指南表述:
cuDNN的安装文件有两个文件夹,共五个文件,如下
CUDA平台里对应文件夹的文件,如下
可以看到,CUDA已有的文件与cuDNN没有相同的文件,复制CUDNN的文件后,CUDA里的文件并不会被覆盖,CUDA其他文件并不会受影响。
5、Linux下CUDNN的安装
在服务器上共安装了三个不同版本的CUDA,并不知道哪个能正常调用,所以需要安装三个不同版本的cuDNN。
cuDNN的文件已经放入服务器我的文件夹下
linu命令如下:如果不行,就全部去掉sudo。
cp 是复制,chmod是给与文件可读权限,使这个文件可以读取,rm 是删除文件
(1)
sudo cp /public/home/qliang/lyr/ysl/cudnn9.1/cuda/include/cudnn.h /usr/local/cuda-9.1/include
sudo cp /public/home/qliang/lyr/ysl/cudnn9.1/cuda/include/libcudnn* /usr/local/cuda-9.1/lib64
sudo chmod a+r /usr/local/cuda-9.1/include/cudnn.h
sudo chmod a+r /usr/local/cuda-9.1/lib64/libcudnn*
(2)
sudo cp /public/home/qliang/lyr/ysl/cudnn9.1/cuda/include/cudnn.h /public/software/cuda-9.1/include
sudo cp /public/home/qliang/lyr/ysl/cudnn9.1/cuda/lib64/libcudnn* /public/software/cuda-9.1/lib64
sudo chmod a+r /public/software/cuda-9.1/include/cudnn.h
sudo chmod a+r /public/software/cuda-9.1lib64/libcudnn*
(3)
sudo cp /public/home/qliang/lyr/ysl/cudnn10/cuda/include/cudnn.h/ usr/local/cuda-9.1/include
sudo cp /public/home/qliang/lyr/ysl/cudnn10/cuda/lib64/libcudnn* /usr/local/cuda-9.1/lib64
sudo chmod a+r /public/software/cuda-10.0/include/cudnn.h
sudo chmod a+r /public/software/cuda-10.0/lib64/libcudnn*
6、卸载cuDNN
因为是插入式设计,cuDNN的卸载也非常简单,只需要把相关文件删除就可以了。指令如下:
rm –rf /usr/local/cuda-9.1/include/cudnn.h
rm –rf /usr/local/cuda-9.1/lib64/libcudnn*
rm –rf /public/software/cuda-9.1/include/cudnn.h
rm –rf /public/software/cuda-9.1/lib64/libcudnn*
rm –rf /public/software/cuda-10.0/include/cudnn.h
rm –rf /public/software/cuda-10.0/lib64/libcudnn*
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)