GPGPU-Sim研究(二)-认识GPGPU实验工具(ubuntuServer 10.04 安装GPGPU-Sim)

  最近发现在sim的官网那个已经给出了安装好gpgpu-sim的虚拟机,也是大家的福音。请戳链接http://gpgpu-sim.org/

  GPGPU-Sim,简单的说是一个模仿GPU运行的一个软件,一个仿真器,通过它能够更好的观察CUDA程序在“仿真GPU“中的运行情况。

  本阶段的主要任务就是安装GPGPU-Sim,安装步骤是从带我那个学长写的一篇日志里,加上我自己的安装过程中的一些体会。学长日志链接:http://blog.renren.com/blog/197495812/896874009,红色部分为外加部分。

  

  强烈建议各种软件的版本、包括系统的版本完全按照本博客来(前后安装了20多次的血泪史。。)

  这个应该算是一个很很小众的软件了,在网上也不太容易找到资料,因此,逐渐的摸索,终于安装成功了。下面把步骤分享如下:(每一步骤之间最好重启一下,或者退出重新登陆一下,因为涉及到修改.bashrc文件的必须在下次启动时生效)。

第一步,安装Linux。

我比较喜欢使用Ubuntu,所以下面的讲解都是基于Ubuntu的,版本是Ubuntu 10.04 Server(ubuntu在10年不知发生了什么,10.04下有四个版本,而10.10只有一个测试版,然后在11.04就换内核了,在这里建议用ubuntuServer10.04.4,因为其他版本有可能导致安装失败)。安装过程没啥太大的讲究,这里就是建议各位使用虚拟机,使用虚拟机的好处就是可以做快照,然后步步为营,省得一旦出错就乱了手脚。

在这里注意的是,ubuntu安装成功后千万不要做更改软件源一类能够影响版本的举动!

第二步,安装CUDA。

我用的Server版本的Ubuntu直接带有开发工具链,如果使用桌面版,还需要把开发工具链装上,此外顺便安装一些CUDA所必须的库。

$ sudo apt-get install build-essential libxi-dev libxmu-dev libglut3-dev

然后到CUDA网站上下载CUDA 4.0,是的,我在强调4.0,GPGPU-Sim目前最高只支持到CUDA 4.0。如果在NVIDIA网站上找不到4.0下载,可以直接通过百度搜索。下载Driver和Tool Kit就行了,注意Tool kit一定要对应Linux的版本,比如,我现在使用的10.04 Server(64位版)就要下载Ubuntu 10.10 x64的Tool kit。(下载链接:cudatoolkit_4.0.17_linux_64_ubuntu10.10.run,对,你没看错,是ubuntu10.10,因为官网上CUDA4.0对应的ubuntu版本就是10.10,能够兼容10.04.4)

sudo sh cudatoolkit_4.0.17_linux_64_ubuntu10.10.run

安装Driver需要在纯文本界面下进行,如果是Desktop版的,需要再启动时进入grub,然后按e修改启动项,只要在内核后面的参数中加入 text 参数,然后Ctrl + X启动进入。

由于虚拟机肯定没有CUDA显卡,因此在安装CUDA Driver的时候需要将检查显卡这步拿掉。安装CUDA Driver的意义就是在于其中包含了编译CUDA程序所必须的 libcuda.so 文件。(devdriver_4.0_linux_64_270.41.19.run

sudo sh devdriver_4.0_linux_64_270.41.19.run -k $(uname -r)

安装Tool kit没啥特别的,各种默认即可。

别忘了安装完毕,需要在~/.bashrc文件的末尾添加如下内容:

export CUDA_INSTALL_PATH=/usr/local/cuda
export PATH=$PATH:$CUDA_INSTALL_PATH/bin
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/software/gpgpu-sim/v3.x/lib/4000/release
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_INSTALL_PATH/lib64

其中第3行的内容是后面要用到的。另外,我将gpgpu-sim下载到了~/software目录中,当然这个可以根据个人喜好随意存放。

第三步,下载并准备gpgpu-sim

非常讨厌的是gpgpu-sim没有提供http或ftp的下载方式,需要通过git方式获取。首先安装git:

$ sudo apt-get install git

然后按照gpgpu-sim官方网站(http://www.gpgpu-sim.org)上的提示,输入命令,下载gpgpu-sim:

$ git clone git://dev.ece.ubc.ca/gpgpu-sim

注意,教育网使用git可能存在问题,那只能自己想办法解决了。下载完成后目录中多了一个叫gpgpu-sim的子目录。里面包含了三个子目录,其中之一是v3.x,我们主要使用该目录中的文件,其他两个目录可以忽略。

下面安装gpgpu-sim官方手册的指示安装依赖库:

$ sudo apt-get install xutils-dev bison zlib1g-dev flex libglu1-mesa-dev doxygen graphviz python-pmw python-ply python-numpy libpng12-dev

(下载地址gpu_simulators) 

第四步,安装GCC

是的,你也没有听错,是得安装GCC。这里很搞笑,gpgpu-sim的程序在GCC 4.4.x编译器下会报编译器内部错误!无奈Ubuntu 10.04在apt-get中提供的gcc又只有4.4.x,所以我只能硬着头皮装最危险的GCC。gpgpu-sim中提到他们开发时使用的是4.5.1,那么我也是用4.5.1,一定要求稳(我曾冒进的使用了4.7.2,发现GCC4.7跟CUDA存在兼容问题。。。)。

安装步骤可以参照这篇博客:http://www.cnblogs.com/LitLeo/p/3534196.html

 

由于使用了虚拟机,这个过程比较缓慢,往往会持续7个小时之久。

安装完成后,使用gcc -v命令测试一下版本号。

然后随便找一个CUDA程序用nvcc编译一下,结果发现报错了,这是用nvcc默认只支持GCC 4.4及以下的编译器,因此需要对/usr/local/cuda/include/host_config.h做一些修改,将第80行修改为:

#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 5)

然后在此编译该程序,就不会在出现错误了。

第五步:编译gpgpu-sim

万事俱备只欠东风了,我们已经做好了所有的准备工作,现在需要编译gpgpu-sim了。

进入gpgpu-sim/v3.x目录,使用如下命令编译:

$ source setup_environment
$ make
$ make docs

整个过程应该在十分钟左右。然后修改~/.bashrc中,把之前注释掉的第三行拿掉注释,把原来第4行注释掉。

第六步:测试gpgpu-sim

我们使用在第四步末生成的CUDA程序,首先去gpgpu-sim/v3.x/comfig中把GTX480目录下的所有文件拷到和那个CUDA程序同一个目录下,然后运行那个CUDA程序(假设编译后文件名为cudatestapp)

./cudatestapp

会出现一大堆的信息,不用管他,只要不报错,我们就成功了。

至此,gpgpu-sim安装完毕

 

posted on 2014-01-26 16:42  LitLeo  阅读(3264)  评论(1编辑  收藏  举报

导航