1、安装CUDA
1.1安装前工作
1.1.1选取实验器材
实验中的计算机装有双系统,是在Windows 7 系统环境下的F盘,安装了一个Ubuntu14.04 64位的操作系统,配置8G内存和80G的存储。计算机配置有GeForce GTX 650显卡,拥有384个CUDA核心。
1.1.2安装前准备
用以下命令来验证计算机有一个支持CUDA的GPU,只要型号存在于NVIDIA官网(https://developer.nvidia.com/cuda-gpus)就没问题:
$ lspci | grep -i nvidia
用以下命令验证有一个支持CUDA的Linux版本,主要是“x86_64”一项,需要是x86架构,64bit系统:
$ uname -m && cat /etc/*release
用以下命令验证系统中是否安装有gcc,Ubuntu14.04默认安装,没有的话手动安装,这个用来编译CUDA Toolkit:
$ gcc --version
系统中的内核头文件和开发包需要与系统内核版本保持一致,系统内核版本用以下命令确认:
$ uname –r
Ubuntu下安装对应内核版本的内核头文件和开发包的命令如下:
$ sudo apt-get install linux-headers-$(uname -r)
以下命令安装必要的库文件:
$ sudo apt-get update
$ sudo apt-get install build-essential
去NVIDIA官网(https://developer.nvidia.com/cuda-downloads)下载最新版本的RUN包,本实验用到的是cuda_7.5.18_linux.run,在Ubuntu系统环境下解压到/home/hadoop/文件路径下,解压命令如下:
$ sudo ./ cuda_7.5.18_linux.run –extract=/home/hadoop/
解压后在目的文件夹下生成三个文件,分别为驱动文件(NVIDIA-Linux-x86_64-352.39.run),CUDA安装包(cuda-linux64-rel-7.5.18-19867135.run),Samples包(cuda-samples-linux-7.5.18-19867135.run)。
1.2安装NVIDIA显卡驱动
1.2.1删除原有显卡驱动
可以通过以下命令删除Ubuntu自带的NVIDIA显卡驱动:
$ sudo apt-get remove nvidia*
$ sudo apt-get autoremove
1.2.2禁止其它显卡驱动运行
需要将Ubuntu集成的NVIDIA驱动加入黑名单,防止驱动冲突导致后期黑屏。具体地,通过修改/etc/modprobe.d/blacklist.conf文件:
$ sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
在blacklist-nouveau.conf中写入:
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
保存并退出,这样就已经禁止了其它显卡驱动。
或者,也可以通过以下两个命令来禁止显卡驱动:
$ echo options nouveau modeset=0 | sudo tee -a/etc/modprobe.d/nouveau-kms.conf
$ sudoupdate-initramfs -u
1.2.3重启计算机
重启计算机之后,通过Ctrl+Alt+F1(或者 F2 ~ F6) 切换到命令控制台,按照命令行提示输入计算机的用户名和密码,进入之后,用以下命令关闭桌面服务:
$ sudo stoplightdm
1.2.4安装驱动
在/home/hadoop/文件路径下,对已经解压好的驱动文件NVIDIA-Linux-x86_64-352.39.run,设置为可执行权限,并执行。
$ cd /home/hadoop/
$ sudo chmod +x NVIDIA-Linux-x86_64-352.39.run
$ sudo sh NVIDIA-Linux-*-346.35.run
按照屏幕上的提示执行下去即可,直到显示安装成功界面。
1.2.4重启计算机
运行以下命令保存新的NVIDIA配置:
$ sudo nvidia-xconfig
1.2.5驱动重装
如果安装失败,或者更换驱动版本,则需要卸载先前驱动,具体地:
重启计算机,按下Ctrl+Alt+F1(或者 F2 ~ F6) 切换到命令控制台,关闭桌面服务,将驱动文件所在目录定位到当前目录,通过以下命令卸载即可:
$ cd /home/hadoop/
$ sudo sh NVIDIA-Linux-x86_64-352.39.run --uninstall
通过以下操作删除先前配置的文件:
$ cd /etc/modprobe.d/
$ sudo rm blacklist-nouveau.conf nouveau-kms.conf
$ sudo update-initramfs –u
这样就成功卸载了安装的NVIDIA驱动,如果希望重装,按照上面的步骤再操作即可。可以通过重启计算机或者以下命令开启桌面服务:
$ sudo start lightdm
1.3安装CUDA
1.3.1 安装操作
在/home/hadoop/文件路径下有解压后的CUDA安装包cuda-linux64-rel-7.5.18-19867135.run,对它设置为可执行权限,并执行。
$ cd /home/hadoop/
$ sudo chmod +x cuda-linux64-rel-7.5.18-19867135.run
$ sudo ./cuda-linux64-rel-7.5.18-19867135.run
然后按照提示安装即可,我们选择默认的安装路径/usr/local/cuda-7.5。
1.3.2修改环境变量
安装CUDA之后,必须配置正确的环境变量才可以使用。具体地通过编辑~/.bashrc文件完成。具体操作如下:
$ sudo gedit ~/.bashrc
在~/.bashrc文件中添加下面内容:
export CUDA_ROOT=$CUDA_ROOT:/usr/local/cuda-7.5
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-7.5/lib64/
export PATH=$PATH:/usr/local/cuda-7.5/bin/
通过下面的操作来使得我们修改的环境变量生效:
$ source ~/.bashrc
1.4 安装CUDA Samples
Samples包中含有许多CUDA示例,可用来验证CUDA安装是否已经成功,通过下面的操作来完成Samples的安装:
$ cd /home/hadoop/
$ sudo chmod +x cuda-samples-linux-7.5.18-19867135.run
$ sudo ./cuda-samples-linux-7.5.18-19867135.run
本实验中选择的安装路径为默认安装路径/usr/local/cuda-7.5/samples。完成后就可以开始编译Sample文件。编译命令如下:
$ cd /usr/local/cuda-7.5/samples
$ sudo make
等待全部编译工作完成之后,开始进行验证操作。具体地:
$ cd /usr/local/cuda-7.5/samples/bin/x86_64/linux/release
$ ./deviceQuery
如果出现对应的显卡信息,就说明CUDA安装成功。
CUDA安装路径为/usr/local/cuda-7.5/,samples安装路径为/usr/local/cuda-7.5/samples,成功安装CUDA之后,再开始接下来的步骤。
2、安装PyCUDA。
2.1确保CUDA已经正确安装,并可以通过测试。需要设置$CUDA_ROOT为CUDA的安装路径,将$CUDA_ROOT/bin设置在$PATH中。
2.2通过以下命令安装 Boost C++ 库。
$ sudo apt-get install libboost-all-dev
2.3通过以下操作安装numpy
$ sudo apt-get install python-numpy
2.4安装必要的库操作
$ sudo apt-get install python-dev python-setuptoolslibboost-python-dev libboost-thread-dev -y
2.5在pycuda官网(https://pypi.python.org/pypi/pycuda)下载最新版本的PyCUDA安装包pycuda-2015.1.3.tar.gz到/usr/local/目录下,并解压。
$ cd /usr/local/
$ sudo tar xzvf pycuda-2015.1.3.tar.gz
2.6修改PyCUDA的配置文件,操作命令如下:
$ cd /usr/local/pycuda-2015.1.3
$ sudo ./configure.py --cuda-root=/usr/local/cuda-7.5 --cudadrv-lib-dir=/usr/lib/x86_64-linux-gnu--boost-inc-dir=/usr/include --boost-lib-dir=/usr/lib--boost-python-libname=boost_python --boost-thread-libname=boost_thread
2.7为避免找不到nvcc的路径,可以通过下面的命令进行编译安装:
$ sudo env PATH=$PATH make –j 4
$ sudoenv PATH=$PATH python setup.py install
2.8安装完成后,可以通过测试pycuda-2015.1里面的例子来验证安装:
$ cd /usr/local/pycuda-2015.1.3/examples
$ python demo.py
如果出现正确的矩阵计算结果,则表示PyCUDA安装成功。
PyCUDA安装路径为/usr/local/pycuda-2015.1.3。
以上为本人经过实践的良心总结,希望能够对刚开始研究GPU计算的童鞋们有一些帮助,其中可能有些不足之处,还请见谅,希望和大家互相交流共同进步!