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

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

Forum topic · QianXun · 2025-11-20

Summary

This post presents an in-depth study of MGPUSim and the Akita framework, two open-source tools from computer architecture research. Akita is a general-purpose simulator-building engine written in Go, providing an event-driven simulation core, modular component libraries (caches, TLBs, memory controllers, NoC components, switches and interconnect links), and developer tools such as Daisen (web visualization), AkitaRTM (real-time monitor), and ArchSim (simulation-as-a-service). MGPUSim is a multi-GPU simulator targeting the AMD Graphics Core Next 3 (GCN3) ISA, built on top of Akita. It models multi-GPU systems with PCIe and NVLink interconnects and achieves high accuracy with an average simulation error of less than 5.5%, while parallel simulation delivers 2.5-3.5x speedup over sequential execution. The post also covers performance modeling, the Locality API (up to 1.6x improvement), and the PASI optimization strategy (up to 2.6x improvement), along with typical application scenarios and evaluation methods for multi-GPU architecture research.

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

MGPUSim and Akita represent a significant contribution to computer architecture research, providing unprecedented 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 built on top of it.

1. Framework Overview

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 aggregate the compute power and memory capacity of multiple GPUs and have become the mainstream solution for current and future HPC. However, their complexity introduces challenges in microarchitecture design, interconnect topology, runtime libraries, and programming models.

1.1 MGPUSim: A Multi-GPU Simulator for AMD GCN3

MGPUSim is an open-source, highly flexible, high-performance multi-GPU simulator targeting GPUs based on the AMD Graphics Core Next 3 (GCN3) instruction set architecture. Written in Go, it enables fast, parallelized, and accurate simulation of multi-GPU systems.

Key characteristics:

  • Flexibility: easily configure different multi-GPU system architectures
  • Performance: supports multi-threaded parallel simulation
  • Accuracy: closely matches real GPU hardware
  • Validated performance figures:

    | Metric | Value | |---|---| | Average simulation error | 5.5% | | Functional simulation speedup | 3.5x | | Timing simulation speedup | 2.5x |

    1.2 Akita: A Next-Generation Architecture Simulation Framework

    Akita is a framework for building next-generation, high-performance, highly flexible architecture simulators, with a strong focus on developer experience. It is not a single simulator but a general-purpose engine for constructing various architecture simulators.

    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 visualization), AkitaRTM (real-time monitor), ArchSim (simulation-as-a-service platform)
  • 1.3 Relationship: MGPUSim as an Instantiation of Akita

    MGPUSim and Akita are related as instance to platform, application to engine. MGPUSim was not developed from scratch; it is a specific instance built on the Akita framework for multi-GPU system research.

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

    Architecturally, Akita provides the event-driven simulation core, network models (including PCIe and NVLink), cache models, and memory controllers, which MGPUSim instantiates as GCN3 GPU models, multi-GPU interconnects, and optimization strategies.

    2. Multi-GPU Interconnect Architecture

  • Akita network models: modular components for building interconnect topologies, including switches, links, and network-on-chip elements
  • MGPUSim implementation: models real multi-GPU interconnects such as PCIe and NVLink, enabling end-to-end simulation of inter-GPU communication
  • 3. Performance Modeling and Optimization

    3.1 Performance Modeling

    MGPUSim's accuracy (average error under 5.5% versus real hardware) makes it suitable for evaluating design trade-offs before hardware is built.

    3.2 Locality API

    The Locality API helps programmers express data placement and movement across GPU memories, delivering up to 1.6x performance improvement.

    3.3 PASI Strategy

    The PASI optimization strategy achieves up to 2.6x performance gains for multi-GPU workloads.

    4. Application Scenarios

    4.1 Typical Use Cases

  • Multi-GPU microarchitecture design-space exploration
  • Interconnect topology evaluation (PCIe vs. NVLink)
  • Runtime library and programming model research
  • 4.2 Evaluation Methods

    The framework supports both functional and timing-accurate simulation, with parallel execution (2.5-3.5x speedup) keeping large-scale experiments tractable.

    References

  • MGPUSim: IEEE Xplore, ACM ISCA 2018
  • Akita framework: sarchlab.org/akita
  • MGPUSim tutorial: jlabellan tutorial

Tags

#mgpusim#akita#gpu-simulation#multi-gpu#computer-architecture#nvl#amd-gcn3#performance-modeling

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