在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:
正文最下方
=============
此外附上其他配置参考:
PRE-INSTALLATION ACTIONS 安装前准备1.1.Verify You Have a CUDA-Capable GPU
在终端中输入: $ lspci | grep -i nvidia ,会显示自己的NVIDIA GPU版本信息
去CUDA的官网http://developer.nvidia.com/cuda-gpus查看自己的GPU版本是否在CUDA的支持列表中
1.2.Verify You Have a Supported Version of Linux 检查自己的linux版本是否支持,我安装的是ubuntu14.04版本的,这个就没有问题
在终端中输入: $ uname -m &&cat /etc/*release
终端显示结果如下所示:
1.3. Verify the System Has gcc Installed
在终端中输入: $ gcc --version
1.4. Verify the System has the Correct Kernel Headers and Development Packages Installed
在终端中输入: $ uname –r 可以查看自己的kernel版本信息
在终端中输入:$ sudo apt-get install linux-headers-$(uname -r)
可以安装对应kernel版本的kernel header和package development
这四个小步骤我都比较顺利,安装好ubuntu后这些都装好了,如果在某一步中有问题,可以参照官方文档进行解决。
runfile安装cuda 下载链接https://developer.nvidia.com/cuda-downloads
2.1.禁用 nouveau
终端中运行:$ lsmod | grep nouveau,如果有输出则代表nouveau正在加载。
Ubuntu的nouveau禁用方法:
在/etc/modprobe.d中创建文件blacklist-nouveau.conf,在文件中输入以下两行内容:
blacklist nouveau
options nouveau modeset=0
在终端中输入:$ sudo update-initramfs –u
设置完毕可以再次运行
$ lsmod | grep nouveau 检查是否禁用成功
如果运行后没有任何输出,则代表禁用成功(如果还有输出,表示没有禁用成功,不过也不要担心,可以重启电脑,再次运行该命令一般情况下会显示禁用成功)。
2.2.重启电脑,到达登录界面时,alt+ctrl+f1,进入text mode,登录账户
2.3.在text mode中输入
$ sudo service lightdm stop 关闭图形化界面
2.4.切换到cuda安装文件的路径
运行$ sudo sh cuda_7.5.18_linux.run
一般下载好cuda安装包后直接放在home目录下,就可以按照上面的代码运行了,建议这么做。
遇到提示是否安装openGL ,选择no(如果你的电脑跟我一样是双显,且主显是非NVIDIA的GPU需要选择no,否则可以选择yes)。其他都选择yes或者默认安装成功后,会显示installed,否则会显示failed。
2.5. 输入 $ sudo service lightdm start 重新启动图形化界面。
Alt + ctrl +F7,返回到图形化登录界面,输入密码登录。
如果能够成功登录,则表示不会遇到循环登录的问题,基本说明CUDA的安装成功了。
2.6. 重启电脑。检查Device Node Verification。
检查路径~/dev下 有无存在名为nvidia*(以nvidia开头)的多个文件(device files)
如果没有的话,可以参考官方文档里的指导步骤,进行添加。
添加过程:
a)在home下创建一个文档,命名位modprobe,不要后缀,文档的内容如下:
#!/bin/bash
/sbin/modprobe nvidia
if [ "$?" -eq 0 ]then
# Count the number of NVIDIA controllers found.
NVDEVS=`lspci | grep -i NVIDIA`
N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`
NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`
N=`expr $N3D + $NVGA - 1`
for i in `seq 0 $N`do
mknod -m 666 /dev/nvidia$i c 195 $i
done
mknod -m 666 /dev/nvidiactl c 195 255
else
exit 1
fi
/sbin/modprobe nvidia-uvm
if [ "$?" -eq 0 ]then
# Find out the major device number used by the nvidia-uvm driver
D=`grep nvidia-uvm /proc/devices | awk '{print $1}'`
mknod -m 666 /dev/nvidia-uvm c $D 0
else
exit 1
fi
b)将该文件复制到/etc/init.d目录下
终端输入: $ sudo chmod 755 /etc/init.d/modprobe
d)执行如下命令将脚本放到启动脚本中去。
终端输入: $ cd /etc/init.d
$ sudo update-rc.d modprobe defaults 95
注意:数字95其实可以随便设置的。
e)关机然后重新启动,去~/dev下面查看,不出意外此时应该有nvidia*系类文件了。
对于2.6的说明:很有必要说一下不管怎么搞我的nvidia*文件总是出现不了,所以我放弃,不过好像并没有太大的影响。这一点根据情况大家自己试试吧。
2.7. 设置环境变量。
终端中输入 $ sudo gedit /etc/profile
在打开的文件末尾,添加以下两行:
export PATH=/usr/local/cuda-7.5/bin/:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda7.5/lib64/:$LD_LIBRARY_PATH
2.8. 重启电脑,检查上述的环境变量是否设置成功。
终端中输入 : $ env
在输出的环境变量中检查有无上述 设置的变量,如果有则代表设置成功。
3. 检查cuda是否安装成功。
3.1.检查 NVIDIA Driver是否安装成功
终端输入 :$ cat /proc/driver/nvidia/version 会输出NVIDIA Driver的版本号
3.2检查 CUDA Toolkit是否安装成功
终端输入 : $ nvcc –V 会输出CUDA的版本信息
3.3尝试编译cuda提供的例子
切换到例子存放的路径,默认路径是 ~/NVIDIA_CUDA-7.5_Samples
终端输入:$ make
注意:这里的make *** 作是将Samples文件夹下所有的demo都编译了一遍,所以比较耗时,如果仅仅想测试某个例子,可以进入相应的文件夹去编译即可。
如果出现错误的话,则会立即报错停止,否则会开始进入编译阶段。
注意:我第一次运行的时候就报错了,错误是缺少一些依赖库,一般情况下也就是这个问题,按照如下方式安装就好,其实也没必要都安装,不过安装上也不会报错:
$ sudo apt-get install freeglut3-dev
$ sudo apt-get install build-essential
$ sudo apt-get install libx11-dev
$ sudo apt-get install libxmu-dev
$ sudo apt-get install libxi-dev
$ sudo apt-get install ibgl1-mesa-glx
$ sudo apt-get install llibglu1-mesa
$ sudo apt-get install libglu1-mesa-dev
安装好后,在终端输入: $ make
成功后,NVIDIA_CUDA-7.5_Samples文件夹下会出现一个bin文件夹。运行编译生成的二进制文件。
编译后的二进制文件 默认存放在~/NVIDIA_CUDA-7.5_Samples/bin中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)