在Ultra40工作站上安装Ubuntu,并配置CUDA,步骤如下:
1.插卡,刷新bios
选择两个合适的PCI-E插槽分别插入GPU卡和显卡(我选的是GPU卡插在PCI-E1插槽、显卡插在PCI-E3插槽),开机,启动时按F8键进入bios设置,在advance选项中,有一个PCI-E选项,选择PCI-E3(启动时可以显示进入bios、安装系统等选项。如果选择PCI-E1,开机时那些选项在显示器中都不显示,不能进入bios及启动项设置,黑屏一段时间后直接进入系统)。
2. 版本
本次安装是在Ubuntu9.10下对CUDA进行安装和配置,CUDA可选2.3版本。在官网上下载driver、cudatoolkit和cudasdk。三个文件分别为:NVIDIA-Linux-x86-190.53-pkg1.run、cudatoolkit_2.3_linux_32_ubuntu9.04.run和cudasdk_2.3_linux.run。
3. 安装并更新系统
安装ubuntu9.10,用命令sudo apt-get update对系统进行更新。
4. 安装CUDA驱动
(1) 卸载掉原来的驱动(如果有):sudo nvidia-installer –uninstall
(2) 关闭gdm:sudo /etc/init.d/gdm stop
(3) 进入到驱动存放目录:cd [存放目录]
(4) 设置权限:chmod 077 NVIDIA-Linux-x86-190.53-pkg1.run(077为最高权限,也可以根据需要修改为其他权限,可执行即可)
(5) 安装:sudo ./ NVIDIA-Linux-x86-190.53-pkg1.run
执行该命令会弹出安装界面,根据提示选择需要的选项就可以了。
(6) 回到gdm:sudo gdm
5. 安装tookit
(1) 设置权限:chmod 077 cudatoolkit_2.3_linux_32_ubuntu9.04.run
(2) 安装:sudo ./ cudatoolkit_2.3_linux_32_ubuntu9.04.run
按照它的提示,如果你没自己手动设置安装路径的话,它被安装到了/usr/local/cuda目录中,以后要卸载就直接删除目录就可以了。
(3) 设置环境变量:
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH
将上面两行放到~/.bashrc文件末尾(~为当前用户的主目录,即:/home/xxx, xxx为用户登录名)。
另外,还要设置lib,因为我在所以都安装好之后运行sdk中的例子时,出现了下面的错误:
error while loading shared libraries: libcudart.so.2: cannot open shared object file: No such file or directory
后来查资料发现,需要在文件/etc/ld.so.conf中加入下面的代码:
include ld.so.conf.d/*.conf
/usr/local/cuda/lib
/usr/local/cuda/lib64
第一行原来就有,如果是32为系统加第二行,64位系统加第三行,我是把两个都加进去了。
6. 安装sdk
(1) 设置权限:chmod 077 cudasdk_2.3_linux.run
(2) 安装: ./ cudasdk_2.3_linux.run
以普通权限安装,默认安装在~目录下,卸载时直接删除就可以了。
7. 更改gcc编译器
CUDA2.3最高只支持gcc-4.3版本,而Ubuntu9.10自动更新的gcc是4.4版本,所以需要将gcc版本降低。
(1) 卸载gcc-4.4:sudo apt-get remove gcc-4.4
(2) 安装gcc-4.3:sudo apt-get install gcc-4.3
(3) 做软连接:sudo ln –s gcc-4.3 gcc
sudo ln –s g++-4.3 g++
更改gcc编译器一定要在安装完driver之后,如果先更改编译器在装驱动,就会出错,提示gcc路径不正确,可能是因为gcc-4.3不能对driver进行编译。
8. 调试
进入sdk中deviceQuery的目录:
cd ~/NVIDIA_GPU_Computing_SDK/C/src/deviceQuery
make
在~/NVIDIA_GPU_Computing_SDK/C/bin/linux/release目录下就有了一个可执行文件deviceQuery,用./deviceQuery命令执行,如果输出TEST PASSED!说明driver、toolkit、sdk安装成功,测试通过!!!
此时执行deviceQuery,如果输出了GPU的信息(sm个数,core个数register个数等等)说明安装已经成功,可以使用了。如果得不到GPU的信息,只是输出了“TEST PASSED!”,说明还存在问题。这是因为我们在第1步中,将bios中PCI-E选项设为了PCI-E3,该插槽插的是显卡,而不是GPU卡,得到的可能是显卡的数据,所以需要再次刷新bios,将PCI-E3改为PCI-E1。再次进行测试,执行deviceQuery,此次就可以得到GPU信息了,安装成功!!!
还可以执行sdk中其他的例子,在目录~/NVIDIA_GPU_Computing_SDK/C下执行make命令,如果不出问题,在 ~/NVIDIA_GPU_Computing_SDK/C/bin/linux/release目录下就会有很多可执行文件了。我运行的时候只出现了8个可执行文件,运行了一下dct8x8,输出一堆信息,执行时间等等,后面是“TEST PASSED!”,在该目录下会输出5张图片。