玩转 gpgpu sim 01记 —— try it

2023-11-19

1. 短介绍

gpgpu-sim 是一个gpu模拟器,可以让cuda/openCL程序运行在一个软件模拟器上,而不需要硬件GPU;

2. 目标

用最简单省事的方式跑通一个gpgpu-sim的仿真

3. gpgpu-sim 一点项目特性

开发比较早,没有持续的维护,依赖的软件环境比较老,手动配置过程稍微复杂了,故采用docker image

4. 安装 docker engine

    4.1 安装

    4.2 拉取 docker image

sudo docker pull socalucr/gpgpu-sim

5. 启动一个容器

export   NEW_DIR=gpgpu-sim_03     \
&&  export WORK_SPACE=/home/hipper/workspace/bitbucket   \
&&  mkdir -p   ${WORK_SPACE}/${NEW_DIR}    \
&&  cd ${WORK_SPACE}/${NEW_DIR}      \
&&  sudo docker run --name  ${NEW_DIR}_Jim -it                             \
-v  ${WORK_SPACE}/${NEW_DIR}:${WORK_SPACE}/${NEW_DIR}                   \
-v /dev:/dev -v /usr/src/:/usr/src -v /lib/modules/:/lib/modules --privileged --cap-add=ALL    \
socalucr/gpgpu-sim:latest    /bin/bash

6. 编译gpgpu-sim

# cd gpgpu-sim_distribution
# make clean
# source setup_environment
# make

4) Copy configs eg. GTX480 and Run your benchmarks.
# mkdir ~/test
# cp configs/GTX480/* ~/test/.
# cd ~/test/

7. 运行 cuda程序

     7.1 编译ispass2009-benchmarks

先按照上述步骤编译gpgpu-sim,才能编译运行这些示例,运行时需要动态调用 libcudart.so.4

libcudart.so.4 => /root/gpgpu-sim_distribution/lib/gcc-4.4.7/cuda-4000/release/libcudart.so.4

# cd /root/ispass2009-benchmarks
# make -f Makefile.ispass-2009

    7.2 运行 RAY

root@c07a3d14ebcb:~/test# ~/ispass2009-benchmarks/bin/release/RAY 4 4



root@c07a3d14ebcb:~/test03# ~/ispass2009-benchmarks/bin/release/RAY 640 640

  运行效果图:

7.3 编译 /root/NVIDIA_GPU_Computing_SDK/C

# cd /root/NVIDIA_GPU_Computing_SDK/C/
# make -j

7.4 运行 /root/NVIDIA_GPU_Computing_SDK/C/src/vectorAdd

# mkdir ~/test_vectorAdd_01
# cd ~/test_vectorAdd_01/
# cp ~/gpgpu-sim_distribution/configs/GTX480/* ./
root@c07a3d14ebcb:~/test_vectorAdd_01# /root/NVIDIA_GPU_Computing_SDK/C/bin/linux/release/vectorAdd

 运行结果

参考文档:

https://socal-ucr.github.io/GPGPU-sim-container/

Setup
1) Install docker by following the instructions in official Docker documentation.
2) Use the command $ docker run -w /root -it socalucr/gpgpu-sim /bin/bash # Start a new container of GPGPU-sim
3) $ cd gpgpu-sim_distribution; make clean; source setup_environment; make
4) Copy configs eg. GTX480 and Run your benchmarks.
- mkdir ~/test
- cp configs/GTX480/* ~/test/.
- cd ~/test/
- ~/ispass2009-benchmarks/bin/release/RAY 4 4


NOTE: If you want to detach (push it to background) from the container without shutting it down, use ctrl+p+q Remember that $ exit would shutdown the container.


Useful Docker commands

$ docker images # lists all locally available images
$ docker ps # list all up and running containers.
$ docker ps -a # list all exited, errored and running containers.
$ docker start CONTAINER_ID # Command to start the container when exited accidentally.
$ docker run IMAGE_NAME # Start a new container of IMAGE_NAME
$ docker attach CONTAINER_ID # Reattach to running (detached) container.
# docker rmi IMAGE_NAME # Remove locally available image.



Any questions?
krang006@ucr.edu
mchow009@ucr.edu

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

玩转 gpgpu sim 01记 —— try it 的相关文章

随机推荐

  • 两种方法清空memcache缓存(转)

    默认memcache会监听11221端口 如果想清空服务器上memecache的缓存 大家一般使用的是 telnet localhost 11211flush all 同样也可以使用 echo flush all nc localhost
  • c++——static总结

    前言 经过static修饰的变量 存储在内存的全局静态区 且被static修饰的变量只能在本模块的所有函数引用 内存中的存储区域如下 堆区 是由程序员手动申请 new 与释放 delete 的内存区域 从低地址向高地址申请 内存空间大 存储
  • 用户登录测试用例

    谈起用户登录的测试用例 试问有没有在面试测试职位的时候 经常被面试官问到或者是在笔试题上会让你回答 你当时的回答全面了吗 你对自己的答案给多少分呢 然而这只是面试而已 在工作中你的测试用例写得怎么样 有没有考虑全面呢 前几天网上报了一门课程
  • GBT9706.1中B型BF型和CF型各表示什么意思?多参监护仪设计

    1 GBT9706 1中B型BF型和CF型各表示什么意思 代表的是根据与患者接触的部件的电击防护分类 F代表floating绝缘 有很高的保护要求 低漏电流 B代表身体Body C代表心脏cardiac B类设备 具有特定程度电击防护的设备
  • Linux 编译安装中的 configure 命令

    用了这么久的 Linux 系统 也许你会发现 在编译安装中 有的服务编译安装需要执行 configure 命令 而有的却不需要 这是为什么呢 也是不是像我一样一头雾水呢 其实这取决于服务的构建系统和配置方式 以下是两个常见情况 自动配置系统
  • Keil编译完成后出现的程序大小说明

    Keil编译完成后出现的程序大小说明 Code 代表执行的代码 程序中所有的函数都位于此处 也可认为是程序所占用的FLASH大小 存储在FLASH中 RO data Read only data 代表只读数据 程序中所定义的全局常量数据和字
  • OpenStack--创建虚拟机

    启动虚拟机之前需要先做一些前期准备 比如网络和 IP 地址分配 虚拟机 类型创建等等 具体如下 1 网络规划及 IP 划分 官网安装文档 https docs openstack org ocata zh CN install guide
  • 今天我们来聊一聊孟德尔随机化

    欢迎关注 生信修炼手册 在传统的实验设计中 由于种种混杂因素的存在 我们仅仅能够分析变量之间的关联性 最典型的比如GWAS 对于显著的位点 只能够说明这些位点和性状之间存在关联 对于了解事情发生的原因和规律而言 关联性是不够的 我们需要的是
  • 【Excel】工作中会用到的excel操作和技巧

    最近入职培训 接受了一些企业文化的洗脑课 不过也有一些是很有实际应用的课程 比如excel操作和技巧 现将自己觉着很有用的地方总结如下 1 基础性操作与技巧 说在前面 一个好的工作表格 需要主要以下几点 首行首列要留白 外边框要加粗 字体字
  • php企业微信通讯录同步设置接收事件服务器

    第一步登陆企业微信pc端管理后台设置好信息 先不要点击保存 会提示失败 随后根据填写的URL编写接口 接口代码如下 就是第一步图中的token token xxx 就是第一步图中的EncodingAESKey encodingAESKey
  • msys2下gtk或qt程序的打包

    1 编译x64的程序 从win10的开始菜单中打开MSYS2 MinGW x64命令行 使用cd命令切换到二进制程序exe所在目录 2 执行如下命令 最后一个参数是当前文件存放dll 可以自定义一个新的文件夹 拷贝起来方便 ldd exe
  • 使用Visual Studio 2019和IntelliJ IDEA 2018实现JAVA调用本地代码

    使用Visual Studio 2019和IntelliJ IDEA 2018实现JAVA调用本地代码 1 我们使用的工具是 IntelliJ IDEA 2018 编写java代码 和VisualStudio 2019 编写Native方法
  • 关于“system”: 找不到标识符 的问题

    关于 system 找不到标识符问题和 包括 排除 设置禁用了加载功能的问题 这个问题主要是使用system pause 时造成的 可以删除或者注释这个语句试试 解决办法 1 添加头文件stdlib h 2 添加iostream h 另外
  • ld_preload

    gdb调试包含共享库代码的程序 shell export LD PRELOAD 相信有不少的同志调试过包含共享库代码的程序 这个时候最为头疼的就是不能进行单步跟踪 当然是在你不知道如何解决的情况下 本文根据一个实例来讲述如何来解决这个问题
  • C++Primer(第五版 )第十三章 拷贝控制 章节编程练习答案

    13 1 拷贝构造函数是什么 什么时候使用它 答 如果一个构造函数的第一个参数是自身类类型的引用 且任何额外参数都有默认值 则此构造函数是拷贝构造函数 当使用拷贝初始化时 我们会用到拷贝构造函数 13 2 解释为什么下面的声明是非法的 答
  • JS字符串转换为JSON的四种方法

    JS字符串转换为JSON的四种方法 1 jQuery插件支持的转换方式 示例 parseJSON jsonstr jQuery parseJSON jsonstr 可以将json字符串转换成json对象 2 浏览器支持的转换方式 Firef
  • 批量获取文件的摘要(md5、sha1、sha256)

    批量获取文件的摘要 md5 sha1 sha256 0x01 功能 0x02源码 0x03运行 0x01 功能 刚刚写了一个小工具 用于批量获取文件的摘要 md5 sha1 sha256 具体用法 gt gt gt gt python3 g
  • 文件服务器中按用户查询文件夹权限,服务器文件夹权限设置

    服务器文件夹权限设置 内容精选 换一换 该任务指导用户使用Loader将数据从SFTP服务器导入到HBase 创建或获取该任务中创建Loader作业的业务用户和密码 确保用户已授权访问作业执行时操作的HBase表或phoenix表 获取SF
  • PO模式+数据驱动(TPshop网站的登录模块进行单元测试以及区分正向逆向用例)

    一 区分正向逆向用例 思路 在测试数据中添加一一个标识正向用例或逆向用例的标记 如 True False 步骤 调用登录方法 此登录方法中 只有输入用户名 输入密码 输入验证码 点击登录按钮 判断用例标记 判断安全退出是否存在 点击安全退出
  • 玩转 gpgpu sim 01记 —— try it

    1 短介绍 gpgpu sim 是一个gpu模拟器 可以让cuda openCL程序运行在一个软件模拟器上 而不需要硬件GPU 2 目标 用最简单省事的方式跑通一个gpgpu sim的仿真 3 gpgpu sim 一点项目特性 开发比较早