Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

DICE - Detailed Inter-Chiplet End-to-End Simulator

DICE is a modular chiplet-based architecture simulator built on top of gem5 and configured to model AMD EPYC processor architectures. It provides a flexible framework for evaluating chiplet-based systems and exploring architectural design trade-offs.

For a detailed description of the simulator's design, implementation, and evaluation methodology, please cite the following ISCA paper:

Rashid Aligholipour, Stefanos Kaxiras, and Yuan Yao,
"DICE: Detailed Inter-Chiplet End-to-End PHY Modeling for Accurate Chiplet Simulation."
2026 ACM/IEEE 53rd Annual International Symposium on Computer Architecture (ISCA),
Raleigh, USA, 2026.

The paper received all three artifact badges: available, evaluated, and reproduced.

arXiv preprint: https://arxiv.org/abs/2607.24221

BibTeX:

@inproceedings{aligholipour-isca26-dice,
  author =    {Rashid Aligholipour and Stefanos Kaxiras and Yuan Yao},
  title =     {{DICE}: Detailed Inter-Chiplet End-to-End {PHY} Modeling for Accurate Chiplet Simulation},
  booktitle = {2026 {ACM}/{IEEE} 53rd Annual International Symposium on Computer Architecture ({ISCA})},
  year =      {2026},
  address =   {Raleigh, USA},
  url =       {https://arxiv.org/abs/2607.24221}
}

How to Use

1. Build DICE

DICE uses the same build process as gem5. Compile it with:

scons build/X86_MESI_Two_Level/gem5.fast -j <threads> --linker=mold

Replace <threads> with the number of compilation threads to use. The --linker=mold option enables a faster linker; omit it if mold is not available on your system.

If DRAMSim3 fails to build automatically, compile it manually:

cd /path/to/DICE/ext/dramsim3/
git clone git@github.com:umd-memsys/DRAMSim3.git DRAMsim3
cd DRAMSim3
mkdir build
cd build
cmake ..
make

2. Run a Configuration

The run_example directory contains two example scripts:

  • run_SP.py: runs a single-process workload.
  • run_MP.py: runs a multi-process workload across multiple chiplets.

Run either example with:

python3 run_SP.py
python3 run_MP.py

Modify the parameters in these scripts to match the system configuration you want to simulate.

3. Inspect Output

Simulation results are stored in *_out directories. Each output directory contains:

  • stats.txt: simulation statistics and system metrics.
  • visualization.pdf: plots for key performance metrics, including L1/LLC/TLB MPKI.

The figure below shows an example LLC MPKI visualization.

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages