five

DAMOV

收藏
arXiv2023-04-06 更新2024-07-30 收录
下载链接:
https://github.com/CMU-SAFARI/DAMOV
下载链接
链接失效反馈
官方服务:
资源简介:
DAMOV是一个用于研究主内存数据移动的第一个开源基准套件,包含了144个代表不同类型数据移动瓶颈的函数,这些函数来自广泛的应用领域。

DAMOV is the first open-source benchmark suite dedicated to studying data movement in main memory, comprising 144 functions that represent different types of data movement bottlenecks and are derived from a wide range of application domains.
创建时间:
2021-05-09
原始信息汇总

DAMOV 数据集概述

数据集简介

DAMOV 是一个用于评估现代应用程序中数据移动瓶颈的基准套件和方法论框架。该套件包含144个函数,代表了不同的数据移动瓶颈来源,并可作为未来数据移动缓解研究的基准集。这些应用程序来自16个广泛使用的基准套件或框架,包括BWA、Chai、Darknet、GASE、Hardware Effects、Hashjoin、HPCC、HPCG、Ligra、PARSEC、Parboil、PolyBench、Phoenix、Rodinia、SPLASH-2和STREAM。

数据集结构

数据集的结构如下:

. +-- README.md +-- get_workloads.sh +-- simulator/ | +-- command_files/ | +-- ramulator/ | +-- ramulator-configs/ | +-- scripts/ | +-- src/ | +-- templates/ +-- workloads/ | +-- Darknet/ | +-- GASE-master/ | +-- PolyBench-ACC/ | +-- STREAM/ | +-- bwa/ | +-- chai-cpu/ | +-- hardware-effects/ | +-- hpcc/ | +-- hpcg/ | +-- ligra/ | +-- multicore-hashjoins-0.1/ | +-- parboil/ | +-- parsec-3.0/ | +-- phoenix/ | +-- rodinia_3.1/

数据集使用

安装依赖

DAMOV 框架需要 ZSim 和 Ramulator 的依赖:

  • Ramulator 需要 C++11 编译器(如 clang++、g++-5)。
  • ZSim 需要 gcc >=4.6、pin、scons、libconfig、libhdf5、libelfg0。提供了 setup.shcompile.sh 脚本来简化 ZSim 的安装。

安装模拟器

cd simulator sudo sh ./scripts/setup.sh sh ./scripts/compile.sh cd ../

下载工作负载

sh get_workloads.sh

该脚本将下载所有工作负载并存储在 ./workloads 文件夹中。如果脚本无法正常工作,可以从以下链接直接下载工作负载:https://mega.nz/file/Mz51xJyY#J_ai3_Pl5kVvFETurKmBuMIrOagUK4sadyahOzUYQVE

编译应用程序

每个应用程序文件夹中提供了 compile.py 脚本,用于编译应用程序、解压缩数据集并设置模拟器命令文件中定义的预期文件名。

例如,编译 STREAM 应用程序:

cd workloads/STREAM/ python compile.py cd ../../

模拟框架

DAMOV 模拟框架 DAMOV-SIM 集成了 ZSim CPU 模拟器和 Ramulator 内存模拟器,用于模拟核心微架构、缓存层次结构、一致性协议、预取器以及 DRAM 架构、内存控制器和内存访问。

模拟器配置

ZSim 可以模拟三种类型的 PIM 核心:

  • OOO:乱序核心。
  • Timing:简单的一发顺序核心。
  • Accelerator:数据流加速器模型。

提供了多个模板文件用于配置不同的主机和 PIM 系统。

运行应用程序

以 STREAM Add 应用程序为例,运行主机模拟:

./build/opt/zsim config_files/host_ooo/no_prefetch/stream/4/Add_Add.cfg

运行 PIM 模拟:

./build/opt/zsim config_files/pim_ooo/stream/4/Add_Add.cfg

新应用程序的模拟

运行新应用程序的模拟需要三个步骤:

  1. 使用 zsim_hooks.h 中的钩子对代码进行插桩。
  2. 创建 ZSim 配置文件。
  3. 运行 ZSim。

引用

如果使用该数据集,请引用以下论文:

@article{oliveira2021damov, title={{DAMOV: A New Methodology and Benchmark Suite for Evaluating Data Movement Bottlenecks}}, author={Oliveira, Geraldo F and G{o}mez-Luna, Juan and Orosa, Lois and Ghose, Saugata and Vijaykumar, Nandita and Fernandez, Ivan and Sadrosadati, Mohammad and Mutlu, Onur}, journal={IEEE Access}, year={2021}, }

5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作