Multi2Sim: A Simulation Framework for
CPU-GPU Computing
Rafael Ubal
†
ubal@ece.neu.edu
Byunghyun Jang
‡ ∗
bjang@cs.olemiss.edu
Perhaad Mistry
†
pmistry@ece.neu.edu
Dana Schaa
†
dschaa@ece.neu.edu
David Kaeli
†
kaeli@ece.neu.edu
†
Electrical and Computer Engineering Dept.
‡
Computer and Information Science Dept.
Northeastern University University of Mississippi
360 Huntington Ave., Boston, MA 02115 P. O. Box 1848, University, MS 38677
ABSTRACT
Accurate simulation is essential for the proper design and evalu-
ation of any computing platform. Upon the current move toward
the CPU-GPU heterogeneous computing era, researchers need a
simulation framework that can model both kinds of computing de-
vices and their interaction. In this paper, we present Multi2Sim, an
open-source, modular, and fully configurable toolset that enables
ISA-level simulation of an x86 CPU and an AMD Evergreen GPU.
Focusing on a model of the AMD Radeon 5870 GPU, we address
program emulation correctness, as well as architectural simulation
accuracy, using AMD’s OpenCL benchmark suite. Simulation ca-
pabilities are demonstrated with a preliminary architectural explo-
ration study, and workload characterization examples. The project
source code, benchmark packages, and a detailed user’s guide are
publicly available at www.multi2sim.org.
Categories and Subject Descriptors
C.1.2 [Computer Systems Organization]: Processor Architec-
tures—Multiple Data Stream Architectures; B.1.2 [Hardware]:
Control Structures and Microprogramming—Control Structure
Performance and Design Aids
Keywords
GPU, AMD, Evergreen ISA, Multi2Sim
∗
This work was done while the author was with AMD.
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.
PACT’12, September 19–23, 2012, Minneapolis, Minnesota, USA.
Copyright 2012 ACM 978-1-4503-1182-3/12/09 ...$15.00.
1. INTRODUCTION
GPUs have become an important component of High Perfor-
mance Computing (HPC) platforms by accelerating the ever de-
manding data-parallel portions of a wide range of applications. The
success of GPU computing has made microprocessor researchers in
both academia and industry believe that CPU-GPU heterogeneous
computing is not just an alternative, but the future of HPC. Now,
GPUs are showing up as integrated accelerators for general purpose
platforms [8, 5, 9]. This move attempts to leverage the combined
capabilities of multi-core CPU and many-core GPU architectures.
As CPU-GPU heterogeneous computing research gains momen-
tum, the need to provide a robust simulation environment becomes
more critical. Simulation frameworks provide a number of benefits
to researchers. They allow pre-silicon designs to be evaluated and
performance results to be obtained for a range of design points. A
number of CPU simulators supporting simulation at the ISA level
have been developed [11, 14] and successfully used in a range of
architectural studies. Although there are tools that are currently
available for simulating GPUs at the intermediate language level
(e.g., PTX) [12, 13], the research community still lacks a publicly
available framework integrating both fast functional simulation and
cycle-accurate detailed architectural simulation at the ISA level that
considers a true heterogeneous CPU-GPU model.
In this paper we present Multi2Sim, a simulation framework for
CPU-GPU computing. The proposed framework integrates a pub-
licly available model of the data-parallel AMD Evergreen GPU
family [3]
1
with the simulation of superscalar, multi-threaded, and
multicore x86 processors. This work also offers important insight
into the architecture of an AMD Evergreen GPU, by describing our
models of instruction pipelines and memory hierarchy, to a deeper
extent than previous public work, to the best of our knowledge, has
done before.
Multi2Sim is provided as a Linux-based command-line toolset,
designed with an emphasis on presenting a user-friendly interface.
It runs OpenCL applications without any source code modifica-
tions, and provides a number of instrumentation capabilities that
1
AMD has used the Evergreen ISA specification for the implemen-
tation of its mainstream Radeon 5000 and 6000 series of GPUs.