GPGPU-SIM 使用篇

什么是GPGPU-SIM

  • 简单地说,GPGPU-SIM是一款仿真器,可以在CPU上仿真执行CUDA程序
  • 主页
  • 使用手册
  • github

如何优雅地安装GPGPU-SIM

依赖=>Spack

  • GPGPU-SIM的手动安装过程较为复杂,很容易因为依赖导致安装失败

  • 强烈推荐通过Spack安装

  • 这里介绍参考上面的安装方法

    • 在安装好spack后,运行命令spack create gpgpu-sim 并修改内容为package.py
    • 运行命令spack install gpgpu-sim%gcc@7.5.0 ^ mesa~llvm
  • docker 安装

    dock pull gtyinstinct/gpgpu-sim:spack
    

如何优雅地使用GPGPU-SIM

依赖=>通过spack安装GPGPU-SIM

GPGPU-SIM仿真需要在运行目录下存在config文件,且每次运行过后都会有很多其他文件生成,导致文件混乱

单次仿真

  • 为了解决上述问题,我写了几个脚本来在GPGPU-SIM上仿真程序

  • 例如,你想使用RTX2060配置仿真,你的仿真程序为test.cu,你的Spack上CUDA版本为11.7,你需要通过nvcc编译仿真程序,你的Spack上GPGPU-SIM为gpgpu-sim@4.0.1,那么你需要在run.sh中修改变量NAME=testCONFIG=RTX2060GPGPUSIM=gpgpu-sim@4.0.1IFBUILD=1CUDAVERSION=11.7,将test.cu放到${SRC}目录下,并在终端中输入如下命令

    或者你也可以将编译好的程序放到${BIN}目录下,并修改IFBUILD=0

    # pwd
    # **/SimpleUseGpgpuSim  确保当前目录在SimpleUseGpgpuSim
    . run.sh
    
  • 此时文件(your_dir)目录结构为

    • bin 目录存放编译好或提前放置的可执行程序
    • sim 目录存放每次仿真后GPGPU-SIM自动输出的文件和指定的配置文件
    • out 目录存放每次仿真后GPGPU-SIM的输出信息
    |-- run.sh
    |-- src|-- test.cu
    |-- bin|-- test
    |-- sim|-- test_RTX2060_gpgpu-sim@4.0.1|-- ...
    |-- out|-- test_RTX2060_gpgpu-sim@4.0.1.txt
    
  • 变量的使用详见run.sh中的注释

  • run.sh

批量仿真

  • 批量仿真基于单次仿真

  • 假如你想仿真test1.cutest2.cu程序,并希望使用GPGPU-SIM4.0.1版本仿真(需要Spack中存在以上版本),仿真配置为RTX2060QV100,修改好的变量见batch_run.sh,并在终端输入如下命令

    # pwd
    # **/SimpleUseGpgpuSim  确保当前目录在SimpleUseGpgpuSim
    . batch_run.sh
    
  • 得到的文件目录结构和单次仿真一致

  • batch_run.sh

  • run_each.sh

如何优雅地构建GPGPU-SIM

依赖=>通过spack安装GPGPU-SIM

例如,你修改了GPGPU-SIM的源码,那么怎么通过Spack重新构建GPGPU-SIM?

  • 可以通过syn_gpgpu_sim.sh完成一键重新构建

  • 例如,你修改的GPGPU-SIM的路径为~/gpgpu-sim,在syn_gpgpu_sim.sh修改GPGPUSIM_DIR=~/gpgpu-sim,并在终端输入

     # pwd# **/SimpleUseGpgpuSim  确保当前目录在SimpleUseGpgpuSim. syn_gpgpu_sim.sh
    

    注意需要运行命令 spack edit gpgpu-sim并修改为package.py

  • 变量的使用详见syn_gpgpu_sim.sh中的注释

  • syn_gpgpu_sim.sh

GPGPU-SIM 使用篇相关推荐

  1. [转]基于Mathematica的机器人仿真环境(机械臂篇)

    目的 本文手把手教你在 Mathematica 科学计算软件中搭建机器人的仿真环境,具体包括以下内容: 1 导入机械臂的三维模型 2 正\逆运动学仿真 3 碰撞检测 4 轨迹规划 5 正\逆动力学仿真 ...

  2. gpgpu-sim卡分配程序设计实例分析

    gpgpu-sim卡分配程序设计实例分析 运行代码地址:https://github.com/gpgpu-sim/gpgpu-sim_distribution 一.概述 此文件包含有关安装.生成和运行 ...

  3. 2020年精排模型调研

    ❝ 本文经作者同意转载自: https://zhuanlan.zhihu.com/p/335781101 作者: Ruhjkg 编辑: MarcusBao 谢绝任何形式的二次转载! ❞ 2020年精排 ...

  4. 【CTR预估】互联网大厂CTR预估前沿进展

    文 | Ruhjkg@知乎 编 | 小鹿鹿lulu 本文已获作者授权,禁止二次转载 前言 CTR(click through rate)预估模型是广告推荐领域的核心问题.早期主要是使用LR(线性回归) ...

  5. android2.2应用开发之IccCard(sim卡或USIM卡)第一篇

    如果要做android通讯录的联系人的机卡混排显示,由于手机卡类型的不同,导致手机卡存储容量以及可以存储信息不同,就要涉及到android去读Icc卡的信息. 一般的sim卡只能存储姓名跟一个电话号码 ...

  6. OneMO模组说|技术学堂-硬件篇(一):模组SIM卡电路设计指南

    SIM卡全称"用户识别模块",是移动蜂窝互联网与物联网设备的用户识别卡.SIM卡与模组通信易受其他信号干扰造成读卡失败.掉卡等问题,因此在SIM卡电路设计时需要做好抗干扰处理.本文 ...

  7. 玩转Luat 进阶篇⑥——SIM卡热插拔功能

    文章目录 一.简介 二.硬件参考设计 三.AT指令支持 四.Lua代码实现 4.1 实现流程 4.2 实现代码 4.3 GPIO中断配置函数 4.4 通知系统SIM卡拔插函数 五.参考 一.简介 SI ...

  8. 当今主流分割网络有哪些?12篇文章一次带你看完

    作者 | 孙叔桥 来源 | 转载自有三AI(ID: yanyousan_ai) 本文的12篇文章总结了当前主流的分割网络及其结构,涵盖从编解码结构到解码器设计:从感受野到多尺度融合:从CNN到RNN与 ...

  9. 第十一篇:Discourse 话语/论述

    目录 话语 大纲 话语分割 无监督方法 监督方法 有监督的话语分割器 话语解析 话语单元DU 话语关系 核与卫星 RST树 RST 解析 使用话语标记进行解析 使用机器学习进行解析 自底向上解析 自顶 ...

  10. BZOJ 2133 切割(树形DP,树上背包)大概是本题全网第一篇题解 >_<【BZOJ 修复工程】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 BZOJ 2133 切割这道题全网搜不到任何一篇题解 >_< 看评测记录也没有几个人AC- ...

最新文章

  1. php 定时脚本执行wget无效_写了个Bug,误执行rm fr /*,瞬间背后一凉!
  2. 网页按钮跳转位置_阻止safari从网页跳转至app
  3. ERROR 1045 (28000): Access denied for user root@localhost (using password:
  4. windebug常用命令
  5. Windows Hook(2)调用DLL函数
  6. 高倍数泡沫装置PHP_泡沫灭火系统,了解这几点就好
  7. Python 简写操作(for、if简写、匿名函数)
  8. 要写related_name的两种情况
  9. PL/SQL Developer-官网下载地址
  10. 网易云音乐ubuntu 18.04下无法打开的解决办法
  11. Redis RDB和AOF总结
  12. yolov4网络结构_上达最高精度,下到最快速度,Scaled-YOLOv4:模型缩放显神威
  13. matlab 取整数命令,matlab取整函数命令代码
  14. Android内容提供者(Content provider)
  15. 实现通用人工智能和超(强)人工智能的理论基础——心理二元说
  16. 顺序表C语言实现详解
  17. Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
  18. B树中的M阶是什么含义?
  19. Android逆向之分析某锁机恶意软件
  20. 智慧交通怎样利用科技打造一个“最强大脑”

热门文章

  1. 十年架构师带来的Spring源码解析,极度深寒,程序员修炼内功必备
  2. 高德地图开发:英文地图的实现方式
  3. 中文序列标注系列(绪)
  4. 加州大学圣克鲁兹分校计算机科学,加州大学圣克鲁兹分校排名
  5. 世界工厂不好当了 东莞面临新一轮企业倒闭潮
  6. JAVA大数据的第五十九天——The authenticity of host ‘gree129 (192.168.**.129)‘ can‘t be established.
  7. python快速下载模块——豆瓣镜像
  8. Simscape Multiby学习笔记5——在Multibody中建立控制器-驱动力-传感器
  9. “玲珑杯”ACM 热身赛 # 2.5 A-B (数论)
  10. 网页设计中的色彩心理学