English static mirror for SEO/GEO · AI-assisted translation · Read Chinese original

MGPUSim and the Akita Framework: Deep Dive into Multi-GPU Interconnect Architecture and Simulation

Forum topic · QianXun · 2025-11-20

Summary

This post provides an in-depth study of MGPUSim and the Akita framework, two open-source tools from the computer architecture research community for modeling multi-GPU systems. MGPUSim is a flexible, high-performance multi-GPU simulator written in Go that targets the AMD Graphics Core Next 3 (GCN3) ISA, achieving an average simulation error of about 5.5% versus real hardware and 2.5x-3.5x speedups via parallel, multithreaded simulation. Akita is a general-purpose simulator-building engine with an event-driven simulation core, modular component libraries (caches, TLBs, memory controllers, NoC components, switches, interconnect links), and developer tools such as Daisen (web visualization), AkitaRTM (real-time monitor), and ArchSim (simulation-as-a-service). MGPUSim is an instantiation built on top of Akita, analogous to an application built on an engine. The post covers multi-GPU interconnect modeling (including PCIe and NVLink), performance modeling, and optimization strategies such as the Locality API (up to 1.6x improvement) and PASI (up to 2.6x), along with typical use cases and evaluation methodologies for multi-GPU architecture research.

MGPUSim and the Akita Framework: Multi-GPU Interconnect Architecture Deep Dive

MGPUSim and Akita represent significant contributions to computer architecture research, giving researchers powerful capabilities for simulating and analyzing multi-GPU systems. Akita serves as a general-purpose simulator-building engine, while MGPUSim is a specialized multi-GPU simulator constructed on top of it.

As data-parallel workloads grow in scale and complexity, single-GPU platforms can no longer meet the extreme compute demands of high-performance computing (HPC). Multi-GPU systems, which aggregate the compute power and memory capacity of multiple GPUs, have become the mainstream solution — but they introduce challenges in microarchitecture design, interconnect topology, runtime libraries, and programming models.

Key points

  • MGPUSim is an open-source, flexible, high-performance multi-GPU simulator targeting the AMD Graphics Core Next 3 (GCN3) ISA, written in Go for fast, parallelized, and accurate multi-GPU system simulation.
  • Validated accuracy and speed: average simulation error under 5.5% compared to real hardware; ~3.5x speedup for functional simulation and ~2.5x for timing simulation through multithreaded parallel simulation.
  • Akita is a framework for building next-generation architecture simulators with a focus on developer experience. It is not a single simulator but a general engine for creating many kinds of architectural simulators.
  • Akita core components:
  • Base hardware model library: cache models (write-through/write-back), TLBs, memory controllers, NoC components, switches and interconnect links.
  • Developer tooling: Daisen (web-based visualization), AkitaRTM (real-time monitor), ArchSim (simulation-as-a-service platform).
  • Relationship: MGPUSim is an instantiation of the Akita framework — an "application on an engine" relationship, not an independently built simulator.
  • Interconnect support: Akita's network models underpin multi-GPU interconnect modeling, including PCIe and NVLink topologies.
  • Optimization strategies studied with MGPUSim:
  • Locality API: up to ~1.6x performance improvement.
  • PASI: up to ~2.6x performance improvement.
  • Comparison: MGPUSim vs. Akita

    | Aspect | MGPUSim | Akita Framework | |---|---|---| | Positioning | Multi-GPU simulator for AMD GCN3 | Simulator-building engine for various architectures | | Core function | Multi-GPU simulation, GCN3 ISA support, optimization strategies (Locality API, PASI) | Event-driven simulation core, modular component library, dev tools (Daisen, AkitaRTM) | | Dependency | Built on Akita | Standalone lower-level framework |

    Applications and evaluation

    MGPUSim is typically used for multi-GPU architecture exploration, interconnect design studies, and evaluating runtime/programming-model optimizations, with evaluation based on comparison against real AMD GPU hardware and parallelized simulation for faster design-space exploration.

    References cited in the original post:

  • MGPUSim: https://ieeexplore.ieee.org/document/8980359 and https://dl.acm.org/doi/10.1145/3307650.3322230
  • Akita: https://sarchlab.org/akita
  • MGPUSim tutorial: https://sites.google.com/view/jlabellan/tutorial-mgpusim

Tags

#mgpusim#akita#gpu-simulation#multi-gpu#computer-architecture#nmlink#pcie#amd-gcn3

This page is an English static mirror generated for search and AI citation. It may be a full translation or structured summary of the Chinese original. Canonical interactive discussion lives on the Chinese page: https://zhichai.net/topic/176360516