没有合适的资源?快使用搜索试试~ 我知道了~
gem5-gpu A heterogeneous CPU-GPU Simulator
需积分: 15 11 下载量 131 浏览量
2016-09-02
21:59:40
上传
评论
收藏 194KB PDF 举报
温馨提示
试读
4页
gem5-gpu A heterogeneous CPU-GPU Simulator
资源推荐
资源详情
资源评论
1
gem5-gpu: A Heterogeneous CPU-GPU
Simulator
Jason Power, Joel Hestness, Marc S. Orr, Mark D. Hill, David A. Wood
University of Wisconsin–Madison
E-mail: {powerjg,hestness,morr,markhill,david}@cs.wisc.edu
Abstract—gem5-gpu is a new simulator that models tightly integrated CPU-GPU systems. It builds on gem5, a modular full-
system CPU simulator, and GPGPU-Sim, a detailed GPGPU simulator. gem5-gpu routes most memory accesses through Ruby,
which is a highly configurable memory system in gem5. By doing this, it is able to simulate many system configurations, ranging
from a system with coherent caches and a single virtual address space across the CPU and GPU to a system that maintains
separate GPU and CPU physical address spaces. gem5-gpu can run most unmodified CUDA 3.2 source code. Applications can
launch non-blocking kernels, allowing the CPU and GPU to execute simultaneously. We present gem5-gpu’s software architecture
and a brief performance validation. We also discuss possible extensions to the simulator. gem5-gpu is open source and available
at gem5-gpu.cs.wisc.edu.
Index Terms—Modeling techniques, Simulators, Heterogeneous (hybrid) systems, General-purpose graphics processors
F
1 INTRODUCTION
Computer architecture is transitioning from the multi-
core era into the heterogeneous era [9]. Many systems
are shipping with integrated CPUs and graphics pro-
cessing units (GPUs) [9], [5], [8]. Increasing levels of
integration pose new research questions.
Historically, computer architects have used cycle-
level simulators to explore and evaluate new pro-
cessor designs. We leverage two mature simulators,
gem5 [3] and GPGPU-Sim [2]. gem5 is a multicore
full-system simulator with multiple CPU, ISA, and
memory system models. Object oriented design, flex-
ible configuration support, and its maturity make
gem5 a popular tool for investigating general purpose
CPUs and multicore platforms. GPGPU-Sim is a de-
tailed general-purpose GPU (GPGPU) simulator [2].
GPGPU-Sim models GPGPU compute units (CUs)—
called streaming multiprocessors by NVIDIA—and
the GPU memory system.
To explore the heterogeneous system design space,
we introduce the gem5-gpu simulator which combines
the CU model from GPGPU-Sim and the CPU and
memory system models from gem5. gem5-gpu builds
on ideas used in related CPU-GPU simulators but
makes different design choices. It captures interac-
tions with execution-driven simulation rather than
well-partitioned trace-driven simulation, e.g., Mac-
Sim [1]. It uses a more-detailed—therefore slower—
GPU component than MV5 [6] and does not rely on
the deprecated m5 simulator. It supports more flexi-
ble memory hierarchy and coherence protocols than
• Manuscript submitted: 15-Nov-2013. Manuscript accepted: 12-Dec-
2013. Final manuscript received: 18-Dec-2013
Multi2Sim [10] or FusionSim [11] at a possible increase
in simulation time. gem5-gpu is the only simulator
with all of the following advantages:
• Detailed cache coherence model,
• Full-system simulation,
• Checkpointing,
• Tightly integrated with the latest gem5 simulator,
and
• Increased extensibility of GPGPU programming
model and entire system architecture.
By integrating GPGPU-Sim’s CU model into gem5,
gem5-gpu can capture interactions between a CPU
and a GPU in a heterogeneous processor. In partic-
ular, GPGPU-Sim CU memory accesses flow through
gem5’s Ruby memory system, which enables a wide
array of heterogeneous cache hierarchies and co-
herence protocols. gem5-gpu also provides a tunable
DMA engine to model data transfers in configurations
with separate CPU and GPU physical address spaces.
Through these features gem5-gpu can simulate both
existing and future heterogeneous processors.
gem5-gpu is open source and available at gem5-gpu.
cs.wisc.edu.
This paper first presents GPGPU and infrastructure
background (Sections 2 and 3), the design of gem5-gpu
(Section 4), a brief validation (Section 5), and future
directions (Section 6).
2 HETEROGENEOUS COMPUTING
General-purpose GPU (GPGPU) computing is the
practice of offloading computation to run on pro-
grammable GPUs. Applications commonly targeted to
GPGPU computing include data-parallel image pro-
cessing, scientific, and numerical algorithms, though
资源评论
Morning21
- 粉丝: 16
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功