1. // 系统: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
  1. // 之所以采用apt-get安装驱动,是因为用下载好的驱动二进制文件安装,提示关于 X 服务的问题。因为显卡比较老,所以安装了legacy drive。
    sudo apt-get install nvidia-304 // 340 375也可以,可以去Ubuntu官网查看12.04 14.04 16.04所有的软件包及其依赖
  2. sudo apt-get install nvidia--dev
  3. // 下面两个好像已经安装好
  4. sudo apt-get install nvidia-settings
  5. sudo apt-get install nvidia-current
  6. // 安装开发环境,opencl,cuda
  7. sudo apt-get install nvidia-current-dev
  8. sudo add-apt-repository ppa:xorg-edgers/ppa
  9. sudo apt-get update
  10. // 一些依赖,编译SDK用!
  11. 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
  12. // Install all of gem5's dependencies
  13. sudo apt-get update -y
  14. sudo apt-get install -y \
  15. build-essential \
  16. python-dev \
  17. scons \
  18. swig \
  19. zlib1g-dev \
  20. m4 \
  21. libprotobuf-dev \
  22. python-protobuf \
  23. protobuf-compiler \
  24. libgoogle-perftools-dev
  25. // 安装水银分布式版本管理
  26. sudo apt-get install --no-install-recommends -y mercurial
  27. // 主目录下新建水银配置文件 .hgrc,内容如下:
    [ui]
    username=yourName<yourEmail@Address.com>
    [extensions]
    mq=
  28. # Install dependencies for gem5-gpu (CUDA benchmarks)
  29. sudo apt-get install -y \
  30. gcc-4.6 \
  31. g++-4.6 \
  32. python \
  33. wget \
  34. gcc-4.4 \
  35. g++-4.4 \
  36. gcc-4.8 \
  37. g++-4.8
  38. # if your system is ubuntu 12.04, to install gcc-4.8 is difficult, if your system is 14.04, skip following
  39. //REF: http://blog.csdn.net/dezhihuang/article/details/53432465
  40. //REF: http://highlightz.blog.163.com/blog/static/23801000420141115103727888
  41. #sudo add-apt-repository ppa:ubuntu-sdk-team/ppa
  42. #sudo add-apt-repository ppa:ubuntu-toolchain-r/test
  43. #setup gcc & g++,4.4 4.6 4.8 都要设置!
  44. sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4
  45. sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 40
  46. # setup default c compiler
  47. sudo update-alternatives --config g++
  48. sudo update-alternatives --config gcc
  49. # Obtaining CUDA Toolkit and CUDA SDK,目前该模拟器只支持 CUDA3.2!
  50. wget http://developer.download.nvidia.com/compute/cuda/3_2_prod/toolkit/cudatoolkit_3.2.16_linux_64_ubuntu10.04.run
  51. wget http://developer.download.nvidia.com/compute/cuda/3_2_prod/sdk/gpucomputingsdk_3.2.16_linux.run
  52. # Note: need to make sure return is pressed
  53. sudo bash cudatoolkit_3..16_linux_64_ubuntu10..run
  54. # Note: 如果toolkit是默认路径,就不需手动输入toolkit路径,直接回车,如果要将SDK安装到非用户主目录下,需要root权限!
  55. bash gpucomputingsdk_3..16_linux.run
  56. # edit ~/.bashrc,需保证路径值与toolkit、sdk的安装路径一致,编辑后需要重新开启一个终端,使环境变量被读取!
  57. export CUDAHOME=/usr/local/cuda;
  58. export PATH=$PATH:/usr/local/cuda/bin;
  59. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/lib;
  60. export LIBRARY_PATH=$LIBRARY_PATH:/home/chen/NVIDIA_GPU_Computing_SDK/C/lib;
  61. export NVIDIA_CUDA_SDK_LOCATION=/home/chen/NVIDIA_GPU_Computing_SDK;

  62. // shift to gcc-4.4 & g++-4.4
  63. # WORKDIR /home/chen/NVIDIA_GPU_Computing_SDK/C/common
  64. make
  65. # WORKDIR /home/chen/NVIDIA_GPU_Computing_SDK/C
  66. make

  67. # 安装 python-pydot,用于生成拓扑结构
    sudo apt-get install python-pydot
  68. # 新建文件夹“gem5-gpu”作为GEM5-GPU-HOME这个文件夹可以是其他名字
    # WORKDIR GEM5-GPU-HOME
  69. # Clone gem5 and gem5-patches
  70. hg qclone http://repo.gem5.org/gem5 -p http://gem5-gpu.cs.wisc.edu/repo/gem5-patches
  71. cd gem5/
  72. hg update -r # 执行完这条命令后,终端提示文件变动情况: N files updated, files merged, M files removed, files unresolved
  73. hg qpush -a
  74. cd ../
  75. # Clone GPGPU-Sim and GPGPU-Sim patches ( separate options)
  76. hg qclone http://gem5-gpu.cs.wisc.edu/repo/gpgpu-sim -p http://gem5-gpu.cs.wisc.edu/repo/gpgpu-sim-patches
  77. cd gpgpu-sim
  78. hg qpush -a
  79. cd ../
  80. # Clone gem5-gpu glue code
  81. hg clone http://gem5-gpu.cs.wisc.edu/repo/gem5-gpu

  1. # 现在目录结构为:
    # gem5-gpu // 这是GEM5-GPU-HOME
    # -gem5-gpu
    # -gem5
    # -gpgpu-sim

  2. # Build, gcc-4.8 & g++-4.8 are used
  3. cd gem5
  4. scons -j 3 build/X86_VI_hammer_GPU/gem5.opt --default=X86 EXTRAS=../gem5-gpu/src:../gpgpu-sim/ PROTOCOL=VI_hammer GPGPU_SIM=True

  5. # Obtaining Benchmarks,make sure benchmarks' dir be located in GEM5-GPU-HOME!
  6. # WORKDIR GEM5-GPU-HOME
  7. hg clone https://gem5-gpu.cs.wisc.edu/repo/benchmarks/

  1. # 现在目录结构为:
    # gem5-gpu // GEM5-GPU-HOME
    # -gem5-gpu
    # -gem5
    # -gpgpu-sim
    # -benchmarks

  2. # Compile libcuda,gcc-4.4 & g++-4.4 are used,libcuda是benchmarks的依赖,不可跳过libcuda直接编译benchmark!
  3. [gem5-gpu/benchmarks] cd libcuda
  4. [gem5-gpu/benchmarks/libcuda] make
  5. # Example of Compiling a Benchmark,指定 makefile 为 gem5-fusion!
  6. [gem5-gpu/benchmarks] cd rodinia/backprop
  7. [gem5-gpu/benchmarks/rodinia/backprop] make gem5-fusion
  8. # Example of Running a Benchmark
  9. build/X86_VI_hammer_GPU/gem5.opt ../gem5-gpu/configs/se_fusion.py -c ../benchmarks/rodinia/backprop/gem5_fusion_backprop -o 16
  10. // 注意:在ubuntu 14.04上使用相对路径可能会出现 fatal: syscall gettid (#186) unimplemented.将命令中的相对路径改为绝对路径.
    // 编译 benchmark 脚本样例:
  1. #!/bin/bash
  2.  
  3. extra=""
  4. if [ ! -z "$1" ]
  5. then
  6. extra="$1"
  7. fi
  8.  
  9. for i in BFS BS CEDD CEDT HSTI HSTO PAD RSCD RSCT SC SSSP TQ TQH TRNS
  10. do
  11. cd $i
  12. make $extra
  13. make clean
  14. cd ..
  15. done
  16. cd ..
  1.  

配置gem5-gpu模拟环境的更多相关文章

  1. RHEL7 配置iSCSI模拟环境

    在之前文章<multipath多路径实验01-构建iSCSI模拟环境>中,已经介绍了如何构建iSCSI模拟环境(RHEL6),但在RHEL7中已经不适用,本文记录下新的配置方法. 环境:R ...

  2. EditPlus+VisualStudio配置VC简易开发环境环境

         对于C++开发, 我想在Windows下大家用的最多的应该是MS的VC++.但其强大的功能背后却有着"启动速度慢","占用资源多"的缺点,尤其是VS后 ...

  3. multipath多路径实验01-构建iscsi模拟环境

    multipath多路径实验01-构建iscsi模拟环境 前几天跟同事网上闲聊技术,吐槽之前自己没有配置过多路径的经历,虽然多路径的配置过程很简单,职责划分也应是主机或存储工程师来搞定,DBA只需要直 ...

  4. Cygwin--unix/linux模拟环境

    Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多有用的工具,著名的还有eCos,不过现已被Redhat收购).它 ...

  5. GPU 服务器环境安装中一些基础note

    GPU 服务器环境安装中一些基础note GPU 服务器: 添加组,用户,并为之新建主目录. c302@c302-dl:~$ sudo addgroup testgroup Adding group ...

  6. Widows下Faster R-CNN的MATALB配置(GPU)

    目录 1. 准备工作 2. VS2013编译Caffe 3. Faster R-CNN的MATLAB源码测试 说在前面,这篇是关于Windows下Faster R-CNN的MATLAB配置,GPU版本 ...

  7. Cygwin(类UNIX模拟环境)&CURL(强大的http命令行工具)

    前言: 需要我用curl试下能否发送post请求调起公司的仿真系统(目前) 跟着大佬的脚步,亲测一把~ 感谢大佬的提供的博客和指导 @咩神 个人博客园及来源地址 Cygwin(类UNIX模拟环境) 一 ...

  8. 解决 Ubuntu 18.10 使用较新的独立显卡输出无法初始化图形界面并配置深度学习开发环境

    原文地址:解决 Ubuntu 18.10 使用较新的独立显卡输出无法初始化图形界面并配置深度学习开发环境 0x00 配置 硬件 OS: Ubuntu 18.10 Base Board: ASUS WS ...

  9. Android开发环境搭建以及模拟环境搭建

    Android开发环境 现在主流的Android开发环境有: Eclipse + ADT + SDK Android Studio + SDK IntelliJ IDEA + SDK 现在国内大部分开 ...

  10. K8S(12)配置中心实战-多环境交付apollo三组件

    k8s配置中心实战-多环境交付apollo三组件 目录 k8s配置中心实战-多环境交付apollo三组件 1.环境准备工作 1.1 zk环境拆分 1.2 namespace分环境 1.3 数据库拆分 ...

随机推荐

  1. scrapy(创建scrapy工程)报错:“ ImportError:DLL load failed:找不到指定的模块”

    先要确定什么模块找不到 解决方法 windowa环境下加 ( --user) pip install -I cryptography --user

  2. ImageMagick 将PDF转图片命令

    将 pdf 转一张图片 PS C:\Users\Microestc\desktop> magick convert -density -quality .pdf -append .jpeg ro ...

  3. git提交代码报:fatal: Unable to create 'E:/testGit/test/.git/index.lock': File exists.

    git提交代码报错,提示:fatal: Unable to create 'E:/testGit/test/.git/index.lock': File exists. 具体截图如下: 在.git目录 ...

  4. Python学习第七课——集合(set) 和 字符串拼接

    集合(set) # 2 无序 # 3 集合中元素必须是不可变类型 # 定义集合 s = {1,2,3,4,5} print(s) # 输出结果 {1, 2, 3, 4, 5} # 1 集合由不同元素组 ...

  5. 一探torch.nn究竟“What is torch.nn really?”

    来自: https://pytorch.org/tutorials/beginner/nn_tutorial.html <What is torch.nn really?>这文章看起来不能 ...

  6. 检测皮肤PH值、感知你的便意,健康是可穿戴设备的新风口?

    在经历最初的喧嚣与疯狂后,可穿戴设备近年来有些低调和沉寂.换句话说,虽然可穿戴设备销量在持续走高,但从形态和功能上,呈现出高度一致性.这似乎也在证明着,可穿戴设备已成为寻常可见的普通产品而已.不过在迈 ...

  7. MariaDB——日志文件

    数据库各类日志  查询日志:   记录每一条sql语句,建议不开启,因为如果访问量过大,会占用相当大的资源,影响数据库的性能.    vim /etc/my.cnf.d/server.cnf    g ...

  8. springboot#配置文件处理

    1. 加载自定义属性文件 2. 通过bean聚合相关属性 1. 在启动类上通过如下注解可以加载自定义的属性文件 @PropertySource(value = {"classpath:pro ...

  9. BSD socket编程学习

    1.socket简介 BSD是实现TCP/IP协议通信的软件系统,socket是应用编程接口,为app提供使用TCP/IP协议通信的接口. 网络层IP提供点到点服务(IP地址标识),传输层TCP和UD ...

  10. eclipse中maven web项目部署时缺少classes文件或者resources文件

    写这篇博客的原因 问题描述 昨天发现eclipse中maven web项目部署时缺少classes文件或者resources文件 本来以为是很常见的原因, 依次检查"Java Build P ...