GPGPU-SIM 使用篇
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
- 在安装好spack后,运行命令
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=test
、CONFIG=RTX2060
、GPGPUSIM=gpgpu-sim@4.0.1
、IFBUILD=1
,CUDAVERSION=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.cu
和test2.cu
程序,并希望使用GPGPU-SIM4.0.1
版本仿真(需要Spack中存在以上版本),仿真配置为RTX2060
或QV100
,修改好的变量见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 使用篇相关推荐
- [转]基于Mathematica的机器人仿真环境(机械臂篇)
目的 本文手把手教你在 Mathematica 科学计算软件中搭建机器人的仿真环境,具体包括以下内容: 1 导入机械臂的三维模型 2 正\逆运动学仿真 3 碰撞检测 4 轨迹规划 5 正\逆动力学仿真 ...
- gpgpu-sim卡分配程序设计实例分析
gpgpu-sim卡分配程序设计实例分析 运行代码地址:https://github.com/gpgpu-sim/gpgpu-sim_distribution 一.概述 此文件包含有关安装.生成和运行 ...
- 2020年精排模型调研
❝ 本文经作者同意转载自: https://zhuanlan.zhihu.com/p/335781101 作者: Ruhjkg 编辑: MarcusBao 谢绝任何形式的二次转载! ❞ 2020年精排 ...
- 【CTR预估】互联网大厂CTR预估前沿进展
文 | Ruhjkg@知乎 编 | 小鹿鹿lulu 本文已获作者授权,禁止二次转载 前言 CTR(click through rate)预估模型是广告推荐领域的核心问题.早期主要是使用LR(线性回归) ...
- android2.2应用开发之IccCard(sim卡或USIM卡)第一篇
如果要做android通讯录的联系人的机卡混排显示,由于手机卡类型的不同,导致手机卡存储容量以及可以存储信息不同,就要涉及到android去读Icc卡的信息. 一般的sim卡只能存储姓名跟一个电话号码 ...
- OneMO模组说|技术学堂-硬件篇(一):模组SIM卡电路设计指南
SIM卡全称"用户识别模块",是移动蜂窝互联网与物联网设备的用户识别卡.SIM卡与模组通信易受其他信号干扰造成读卡失败.掉卡等问题,因此在SIM卡电路设计时需要做好抗干扰处理.本文 ...
- 玩转Luat 进阶篇⑥——SIM卡热插拔功能
文章目录 一.简介 二.硬件参考设计 三.AT指令支持 四.Lua代码实现 4.1 实现流程 4.2 实现代码 4.3 GPIO中断配置函数 4.4 通知系统SIM卡拔插函数 五.参考 一.简介 SI ...
- 当今主流分割网络有哪些?12篇文章一次带你看完
作者 | 孙叔桥 来源 | 转载自有三AI(ID: yanyousan_ai) 本文的12篇文章总结了当前主流的分割网络及其结构,涵盖从编解码结构到解码器设计:从感受野到多尺度融合:从CNN到RNN与 ...
- 第十一篇:Discourse 话语/论述
目录 话语 大纲 话语分割 无监督方法 监督方法 有监督的话语分割器 话语解析 话语单元DU 话语关系 核与卫星 RST树 RST 解析 使用话语标记进行解析 使用机器学习进行解析 自底向上解析 自顶 ...
- BZOJ 2133 切割(树形DP,树上背包)大概是本题全网第一篇题解 >_<【BZOJ 修复工程】
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 BZOJ 2133 切割这道题全网搜不到任何一篇题解 >_< 看评测记录也没有几个人AC- ...
最新文章
- php 定时脚本执行wget无效_写了个Bug,误执行rm fr /*,瞬间背后一凉!
- 网页按钮跳转位置_阻止safari从网页跳转至app
- ERROR 1045 (28000): Access denied for user root@localhost (using password:
- windebug常用命令
- Windows Hook(2)调用DLL函数
- 高倍数泡沫装置PHP_泡沫灭火系统,了解这几点就好
- Python 简写操作(for、if简写、匿名函数)
- 要写related_name的两种情况
- PL/SQL Developer-官网下载地址
- 网易云音乐ubuntu 18.04下无法打开的解决办法
- Redis RDB和AOF总结
- yolov4网络结构_上达最高精度,下到最快速度,Scaled-YOLOv4:模型缩放显神威
- matlab 取整数命令,matlab取整函数命令代码
- Android内容提供者(Content provider)
- 实现通用人工智能和超(强)人工智能的理论基础——心理二元说
- 顺序表C语言实现详解
- Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
- B树中的M阶是什么含义?
- Android逆向之分析某锁机恶意软件
- 智慧交通怎样利用科技打造一个“最强大脑”
热门文章
- 十年架构师带来的Spring源码解析,极度深寒,程序员修炼内功必备
- 高德地图开发:英文地图的实现方式
- 中文序列标注系列(绪)
- 加州大学圣克鲁兹分校计算机科学,加州大学圣克鲁兹分校排名
- 世界工厂不好当了 东莞面临新一轮企业倒闭潮
- JAVA大数据的第五十九天——The authenticity of host ‘gree129 (192.168.**.129)‘ can‘t be established.
- python快速下载模块——豆瓣镜像
- Simscape Multiby学习笔记5——在Multibody中建立控制器-驱动力-传感器
- “玲珑杯”ACM 热身赛 # 2.5 A-B (数论)
- 网页设计中的色彩心理学