这个配置只是测试性的配置,估计现在用这种型号显卡来做并行计算的几乎没有了,不过里面的配置方法,很多还是值得借鉴的,最终是想应用在Geant4的并行计算上。
好了,各位观众,我开始表演了
首先,如果你已经安装失败很多次,那么,请确保你已经卸载现有的显卡驱动和CUDA
1.如果已经安装过cuda相关,且不成功(成功也就不看这个了),请看下面相关,如果没安装过,请跳过
1.1 卸载相关文件
在目录(以cuda7.0版本为例):
/usr/local/cuda-7.0/bin
有CUDA自带的卸载工具uninstallcudatoolkit_7.0.pl,使用命令:
shell sudo ./uninstall_cuda_toolkit_7.0.pl
卸载原来的NVIDIA驱动:
shell sudo apt-get remove nvidia*
这样卸载Nvidia可能会导致图形界面变粗变大(你懂的,嘿嘿) 另外一种卸载方式温柔点:
shell sudo apt-get remove --purge nvidia-*
sudo apt-get install ubuntu-desktop
sudo rm /etc/X11/xorg.conf echo 'nouveau' | sudo tee -a /etc/modules
1.2 如果不像那么麻烦,重新安装下系统,省时省力
如何安装,请自行搜索哈,不赘述。
2.安装驱动
安装一下必要的编译用的库
sudo apt-get -y install gcc g++ build-essential automake linux-headers-$(uname -r) git gawk libcurl4-openssl-dev libjansson-dev xorg libc++-dev libgmp-dev python-dev
2.1 下载显卡驱动
http://www.nvidia.com/Download/index.aspx?lang=en-us
我的测试显卡比较LOW,大神们别喷, 一看,卧槽,还用200M series系列的,太垃圾。 咳咳,嗯嗯,我在做配置流程的记录。(微笑脸),贴个图 下载完了之后,应该是一个类似这样的文件 NVIDIA-Linux-x86_64-340.104.run
-340.104未版本号,一般都用XXX来表示,你的XXX和我的,其他人的可能不一样,所以不必方。
2.2 关闭ubuntu的图形界面
在命令行里输入
sudo service lightdm stop
2.3 关闭系统自带的驱动(nouveau nvidia)
创建一个文件通过命令
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
并添加如下内容:
blacklist nouveau
options nouveau modeset=0
再更新一下
sudo update-initramfs -u
修改后需要重启系统 sudo reboot
确认下Nouveau是已经关闭,使用命令: lsmod | grep nouveau
啥都没有,恭喜你,成功干掉了它
重启系统至init 3(文本模式)
sudo init 3
2.4 执行
chmod +x NVIDIA-Linux-x86_64-340.104.run
注意XXX可能不一样哟,不要直接复制
./NVIDIA-Linux-x86_64-340.104.run
安装的时候,不要安装32bit的库,只有这一个选择右边那个NO,就是32位的那个库哈,别选,剩下的都选左。
2.5 安装完驱动,测试一下
nvidia-smi
出现如下图,就证明你安装驱动成功了:
你是不是发现,那里有个NOT SUPPORTED,不要方,大师告诉你没关系。
2.6 更新一下grub
sudo echo 'GRUB_CMDLINE_LINUX="nomodeset"' >> /etc/default/grub
sudo update-grub sudo nvidia-xconfig -a --cool-bits=28 --allow-empty-initial-configuration
2.7 重启一下
打开图形界面 sudo service lightdm start
不多说,不想看美女打马赛克图的可以不开
3安装cuda
3.1当然是先下载呀,这还用说
来来来,网站在这,我下的cuda6.5,测试成功,有兴趣的或者显卡牛逼的,可以选择高版本。 https://developer.nvidia.com/cuda-downloads 选择合适的版本哦,别选太高,除非你新买的几万的新显卡。
3.2 安装
我的cuda的版本名字这样的 cuda6.5 所以,你们按照自己下载的版本来对照。
cd && wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_6.5-14_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1404_6.5-14_amd64.deb
rm cuda-repo-ubuntu1404_6.5-14_amd64.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-6-5 # skip reading the entire agreement by pressing ctrl+c
跳过前面要看的,可以按空格,也可以ctrl+c, 根据提示,全部同意就好了。
3.3 添加环境变量
sudo usermod -a -G video $USER
echo "" >> ~/.bashrc
echo "export PATH=/usr/local/cuda-6.5/bin:$PATH" >> ~/.bashrc
echo "export LD_LIBRARY_PATH=/usr/local/cuda-6.5/lib64:$LD_LIBRARY_PATH" >> ~/.bashrc
3.4 然后重启
sudo shutdown -r now
3.5 gcc 降级(相当重要)
16,04的gcc版本可能太高,不适合cuda6.5或者附近的版本,所以要降低gcc版本的等级
3.5.1 当然是下载gcc咯
这里下载的是gcc--4.7版本
sudo apt-get install gcc-4.7 g++-4.7
3.5.2 更换到cuda的路径
cd /usr/local/cuda/bin
路径可能不同,也不要照抄的说,找到有cuda 和cuda-6.5的地方就好了
3.5.3 在bin文件下,新建一个gcc文件夹,并连接相关gcc
sudo su
mkdir gcc
cd gcc
ln -s /usr/bin/gcc-4.7 gcc
ln -s /usr/bin/cpp-4.7 cpp
ln -s /usr/bin/g++-4.7 g++
exit
注意哟,输入完exit,孩子啊当前目录下哈,别搞错目录了,应该还在/usr/local/cuda/bin目录下
3.5.4增加NVCC的变异路径
sudo su
echo "compiler-bindir = /usr/local/cuda/bin/gcc" >> nvcc.profile
exit
3.5.5
再重启一下
sudo reboot
4 到此就结束了,下面开始测试
在目录 /usr/local/cuda/samples/1_Utilities/deviceQuery下 有个deviceQuery的例子,随便测试一下,出现这样,你就成功了
直接make,就能运行啦
当然,还可以测试其他例子,如,此路径下 /usr/local/cuda/samples/3_Imaging/boxFilter
这个例子里面有个女的,一会很漂亮,一会跟打了马赛克一样模糊,大概可以学以致用,都懂的,哈哈
好了,美女看完了,该干正事了,编译一下GPU版本的Geant4。。
(伸个懒腰,好困呀) 明天在变异吧,呸,不对,今天早上在编译吧,睡觉~~
参考资料:
Ubuntu 16.04 install cuda 6.5
https://askubuntu.com/questions/841876/how-to-disable-nouveau-kernel-driver