在docker里跑gpgpusim

1. Introduction

gpgpusim在虚拟机里跑起来非常慢,而自己配机器的环境又可能会出现这样那样的问题。本文给出了一种使用gpgpusim提供的vbox虚拟机进行编译,在host的docker环境下运行的方法。

2. 使用gpgpusim官方vbox虚拟机

gpgpusim官方提供了vbox虚拟机文件的下载,大概7G多,

http://ece.ubc.ca/~taylerh/files/gpgpu-sim/gpgpu-sim.vm.tar.gz

直接从vbox里打开就行。里面的系统是ubuntu 14.04。

3. 编译

编译成功gpgpusim以后,实际上主要是生成了一个libcudart.so。

4. 拷贝必须的文件

后面用docker的时候,我们会将文件夹挂载到docker里,在外部修改,在docker里运行。

建一个文件夹sim,可以建在你想放的地方,比如/home/find/e/gpgpusim/
在该目录下建立libsim,将vbox虚拟机里编译好的/home/gpgpu-sim/gpgpu-sim_distribution/lib/gcc-4.6.4/cuda-4020/release/libcudart.so及其软链接拷贝过来,直接拷贝so文件到/home/find/e/gpgpusim/libsim/文件夹下即可。
新建目录/home/find/e/gpgpusim/cuda/,将vbox虚拟机里/home/gpgpu-sim/cuda/toolkit/4.2/cuda/bin文件夹拷贝到这里,即/home/find/e/gpgpusim/cuda/里只有一个bin文件夹。(或者将vbox虚拟机里整个cuda文件夹拷贝过来也行)

5. 使用docker

由于gpgpusim必须使用gcc4.7及以前的版本,而修改自己的电脑系统可能带来不方便,因此使用docker来运行程序,docker在运行程序时,性能损失大概在10%以内,但也比vbox快多了。

直接docker pull ubuntu:14.04从docker hub pull ubuntu 提供的官方的14.04版本系统,参考 Docker学习笔记目录以前的文章,运行以下命令可以将外部的文件夹挂载到docker里去:

docker run --name gpgpusim -it -v /home/find/e/gpgpusim:/root/sim/  ubuntu:14.04 /bin/bash

进入docker里的ubuntu14.04以后,设置为中科大的源,update系统,安装如下包:

apt install -y gcc gcc-4.6 g++ g++-4.6 build-essential  vim

6. 设置环境变量

修改docker里~/.bashrc文件,添加如下内容:

export CUDA_INSTALL_PATH=/root/sim/cuda/
export LD_LIBRARY_PATH=/root/sim/libsim/
export PATH=$PATH:/root/sim/cuda/bin/

到/usr/bin/里将默认gcc和g++的软链接挂到4.6版本上:

cd /usr/bin
rm gcc g++
ln -s ./gcc-4.6 ./gcc
ln -s ./g++-4.6 ./g++

7. 运行

以vectoradd为例,在host的gpgpusim文件夹下建立test文件夹,并拷贝vectoradd.cu文件以及gpgpusim提供的配置文件(在/home/gpgpu-sim/gpgpu-sim_distribution/configs/GTX480/文件夹下有三个文件)到test文件夹:

nvcc -o vectoradd ./vectoradd.cu 
./vectoradd

即可发现可以正常运行,并有大量输出。

转载自:FindHao的Blog:https://www.findhao.net/easycoding/2404

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值