配置gem5-gpu模拟环境
// 系统:ubuntu 14.04,显卡:支持CUDA的显卡。建议换aliyun的源!先clean软件源再update。
// 在Ubuntu 16.04上试过,配好环境变量,编译出错(把14.04上编译好的cuda和sdk复制过去也不行),把编译好的gem5-gpu复制到16.04也不行(运行时缺少libprotobuf.so.8,16.04安装的so.9)
sudo apt-get update
// 之所以采用apt-get安装驱动,是因为用下载好的驱动二进制文件安装,提示关于 X 服务的问题。因为显卡比较老,所以安装了legacy drive。
sudo apt-get install nvidia-304 // 340 375也可以,可以去Ubuntu官网查看12.04 14.04 16.04所有的软件包及其依赖
sudo apt-get install nvidia--dev
// 下面两个好像已经安装好
sudo apt-get install nvidia-settings
sudo apt-get install nvidia-current // 安装开发环境,opencl,cuda
sudo apt-get install nvidia-current-dev
sudo add-apt-repository ppa:xorg-edgers/ppa sudo apt-get update
// 一些依赖,编译SDK用!
sudo apt-get install libxext-dev libxi-dev x11proto-xext-dev libice-dev libsm-dev libxt-dev libxmu-headers libxmu-dev freeglut3-dev libcr-dev libX11-dev libglu1-mesa // Install all of gem5's dependencies
sudo apt-get update -y
sudo apt-get install -y \
build-essential \
python-dev \
scons \
swig \
zlib1g-dev \
m4 \
libprotobuf-dev \
python-protobuf \
protobuf-compiler \
libgoogle-perftools-dev
// 安装水银分布式版本管理
sudo apt-get install --no-install-recommends -y mercurial
// 主目录下新建水银配置文件 .hgrc,内容如下:
[ui]
username=yourName<yourEmail@Address.com>
[extensions]
mq=
# Install dependencies for gem5-gpu (CUDA benchmarks)
sudo apt-get install -y \
gcc-4.6 \
g++-4.6 \
python \
wget \
gcc-4.4 \
g++-4.4 \
gcc-4.8 \
g++-4.8 # if your system is ubuntu 12.04, to install gcc-4.8 is difficult, if your system is 14.04, skip following
//REF: http://blog.csdn.net/dezhihuang/article/details/53432465
//REF: http://highlightz.blog.163.com/blog/static/23801000420141115103727888
#sudo add-apt-repository ppa:ubuntu-sdk-team/ppa
#sudo add-apt-repository ppa:ubuntu-toolchain-r/test #setup gcc & g++,4.4 4.6 4.8 都要设置!
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 40 # setup default c compiler
sudo update-alternatives --config g++
sudo update-alternatives --config gcc # Obtaining CUDA Toolkit and CUDA SDK,目前该模拟器只支持 CUDA3.2!
wget http://developer.download.nvidia.com/compute/cuda/3_2_prod/toolkit/cudatoolkit_3.2.16_linux_64_ubuntu10.04.run
wget http://developer.download.nvidia.com/compute/cuda/3_2_prod/sdk/gpucomputingsdk_3.2.16_linux.run
# Note: need to make sure return is pressed
sudo bash cudatoolkit_3..16_linux_64_ubuntu10..run
# Note: 如果toolkit是默认路径,就不需手动输入toolkit路径,直接回车,如果要将SDK安装到非用户主目录下,需要root权限!
bash gpucomputingsdk_3..16_linux.run
# edit ~/.bashrc,需保证路径值与toolkit、sdk的安装路径一致,编辑后需要重新开启一个终端,使环境变量被读取!
export CUDAHOME=/usr/local/cuda;
export PATH=$PATH:/usr/local/cuda/bin;
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/lib;
export LIBRARY_PATH=$LIBRARY_PATH:/home/chen/NVIDIA_GPU_Computing_SDK/C/lib;
export NVIDIA_CUDA_SDK_LOCATION=/home/chen/NVIDIA_GPU_Computing_SDK;
// shift to gcc-4.4 & g++-4.4
# WORKDIR /home/chen/NVIDIA_GPU_Computing_SDK/C/common
make
# WORKDIR /home/chen/NVIDIA_GPU_Computing_SDK/C
make
# 安装 python-pydot,用于生成拓扑结构
sudo apt-get install python-pydot # 新建文件夹“gem5-gpu”作为GEM5-GPU-HOME,这个文件夹可以是其他名字
# WORKDIR GEM5-GPU-HOME
# Clone gem5 and gem5-patches
hg qclone http://repo.gem5.org/gem5 -p http://gem5-gpu.cs.wisc.edu/repo/gem5-patches
cd gem5/
hg update -r # 执行完这条命令后,终端提示文件变动情况: N files updated, files merged, M files removed, files unresolved
hg qpush -a
cd ../ # Clone GPGPU-Sim and GPGPU-Sim patches ( separate options)
hg qclone http://gem5-gpu.cs.wisc.edu/repo/gpgpu-sim -p http://gem5-gpu.cs.wisc.edu/repo/gpgpu-sim-patches
cd gpgpu-sim
hg qpush -a
cd ../ # Clone gem5-gpu glue code
hg clone http://gem5-gpu.cs.wisc.edu/repo/gem5-gpu
# 现在目录结构为:
# gem5-gpu // 这是GEM5-GPU-HOME
# -gem5-gpu
# -gem5
# -gpgpu-sim
# Build, gcc-4.8 & g++-4.8 are used
cd gem5
scons -j 3 build/X86_VI_hammer_GPU/gem5.opt --default=X86 EXTRAS=../gem5-gpu/src:../gpgpu-sim/ PROTOCOL=VI_hammer GPGPU_SIM=True
# Obtaining Benchmarks,make sure benchmarks' dir be located in GEM5-GPU-HOME!
# WORKDIR GEM5-GPU-HOME
hg clone https://gem5-gpu.cs.wisc.edu/repo/benchmarks/
# 现在目录结构为:
# gem5-gpu // GEM5-GPU-HOME
# -gem5-gpu
# -gem5
# -gpgpu-sim
# -benchmarks
# Compile libcuda,gcc-4.4 & g++-4.4 are used,libcuda是benchmarks的依赖,不可跳过libcuda直接编译benchmark!
[gem5-gpu/benchmarks] cd libcuda
[gem5-gpu/benchmarks/libcuda] make
# Example of Compiling a Benchmark,指定 makefile 为 gem5-fusion!
[gem5-gpu/benchmarks] cd rodinia/backprop
[gem5-gpu/benchmarks/rodinia/backprop] make gem5-fusion # Example of Running a Benchmark
build/X86_VI_hammer_GPU/gem5.opt ../gem5-gpu/configs/se_fusion.py -c ../benchmarks/rodinia/backprop/gem5_fusion_backprop -o 16 // 注意:在ubuntu 14.04上使用相对路径可能会出现 fatal: syscall gettid (#186) unimplemented.将命令中的相对路径改为绝对路径.
// 编译 benchmark 脚本样例:
#!/bin/bash extra=""
if [ ! -z "$1" ]
then
extra="$1"
fi for i in BFS BS CEDD CEDT HSTI HSTO PAD RSCD RSCT SC SSSP TQ TQH TRNS
do
cd $i
make $extra
make clean
cd ..
done
cd ..
配置gem5-gpu模拟环境的更多相关文章
- RHEL7 配置iSCSI模拟环境
在之前文章<multipath多路径实验01-构建iSCSI模拟环境>中,已经介绍了如何构建iSCSI模拟环境(RHEL6),但在RHEL7中已经不适用,本文记录下新的配置方法. 环境:R ...
- EditPlus+VisualStudio配置VC简易开发环境环境
对于C++开发, 我想在Windows下大家用的最多的应该是MS的VC++.但其强大的功能背后却有着"启动速度慢","占用资源多"的缺点,尤其是VS后 ...
- multipath多路径实验01-构建iscsi模拟环境
multipath多路径实验01-构建iscsi模拟环境 前几天跟同事网上闲聊技术,吐槽之前自己没有配置过多路径的经历,虽然多路径的配置过程很简单,职责划分也应是主机或存储工程师来搞定,DBA只需要直 ...
- Cygwin--unix/linux模拟环境
Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多有用的工具,著名的还有eCos,不过现已被Redhat收购).它 ...
- GPU 服务器环境安装中一些基础note
GPU 服务器环境安装中一些基础note GPU 服务器: 添加组,用户,并为之新建主目录. c302@c302-dl:~$ sudo addgroup testgroup Adding group ...
- Widows下Faster R-CNN的MATALB配置(GPU)
目录 1. 准备工作 2. VS2013编译Caffe 3. Faster R-CNN的MATLAB源码测试 说在前面,这篇是关于Windows下Faster R-CNN的MATLAB配置,GPU版本 ...
- Cygwin(类UNIX模拟环境)&CURL(强大的http命令行工具)
前言: 需要我用curl试下能否发送post请求调起公司的仿真系统(目前) 跟着大佬的脚步,亲测一把~ 感谢大佬的提供的博客和指导 @咩神 个人博客园及来源地址 Cygwin(类UNIX模拟环境) 一 ...
- 解决 Ubuntu 18.10 使用较新的独立显卡输出无法初始化图形界面并配置深度学习开发环境
原文地址:解决 Ubuntu 18.10 使用较新的独立显卡输出无法初始化图形界面并配置深度学习开发环境 0x00 配置 硬件 OS: Ubuntu 18.10 Base Board: ASUS WS ...
- Android开发环境搭建以及模拟环境搭建
Android开发环境 现在主流的Android开发环境有: Eclipse + ADT + SDK Android Studio + SDK IntelliJ IDEA + SDK 现在国内大部分开 ...
- K8S(12)配置中心实战-多环境交付apollo三组件
k8s配置中心实战-多环境交付apollo三组件 目录 k8s配置中心实战-多环境交付apollo三组件 1.环境准备工作 1.1 zk环境拆分 1.2 namespace分环境 1.3 数据库拆分 ...
随机推荐
- A. Hotelier
A. Hotelier 题意:一家有10间房间的旅馆(10个房间排成一排),在旅馆的左右两端都有一个办理入住的前台,L代表在左端办理入住,R代表在右端办理入住,顾客都会挑选距离最近的空房间入住,数 ...
- 01背包问题_回溯法&分支限界法
package 分支限界法; import java.util.LinkedList; import java.util.Scanner; /*01背包问题*/ public class ZOPack ...
- Python 关于super在多继承中的解析
一.单继承情况: 解析: 创建B类的实例化对象时,执行初始化函数: 打印输出Enter B,当遇到super()调用父类初始化函数(此时是调用B类的父类A的__init__函数),输出Enter A. ...
- git/github error: failed to push some refs to 'https://github.com/shenhaha/cloudletter.git'
git 提交代码到github上报如下错误 报错分析: 解决方法: 关闭这两个设置 再次提交代码 success
- Git安装及基本配置
一.在Linux上安装 1.Linux系统安装 使用Linux发布版包含的基础软件包管理工具可以很容易安装Git.例如,在Ubuntu系统上可使用以下指令安装Git: $ sudo apt-get i ...
- 学习进度-04 Scala的学习
在Scala中,主函数的定义是def main(args: Array[String]),Scala中必须使用对象方法 1.变量: Scala中的变量分为两种var和val. 例如:def main( ...
- 微软重制Windows 1.0系统:祖师爷出山了
Windows官方推特在7月1日发布了一条很有趣的动态,“向大家介绍全新的Windows 1.0,带MS-DOS.时钟等”.配发的视频回顾了从Windows 1.0/3.1到Windows 10期间, ...
- express 配置 https 服务 ( 以阿里云服务器为例), 探索一周终于搞定
首先最重要的是 你要明白 https接口的接收或者发送 的形式 是 https://域名:端口号 而不是 https://ip:端口号 一,首先,去阿里云注册免费ssl证书 1,在搜索框 ...
- 使用BP拦截POST型请求包
1.安装phpstudy并下载wordpress 文件,安装在phpstudy的www目录下 phpstudy下载地址:https://www.xp.cn/download.html wordpres ...
- Java笔记--枚举&注解
1.自定义枚举类的实现,例: class Season{ //1,提供类的属性,声明为rivate final private final String name; private final Str ...