Skip to content

Latest commit

 

History

History
62 lines (45 loc) · 2.75 KB

File metadata and controls

62 lines (45 loc) · 2.75 KB

uScope

CI codecov Research Project gem5 Computer Architecture Status: Active Python 3.8+ License: Apache 2.0

uScope gives you a microscopic view of a gem5 O3CPU simulation by transforming PipeView traces into Perfetto timelines.

Verify, optimize, and explore cycle-approximate simulation with uScope!

Video

Features

  • 📊 Integration with Perfetto / Chrome Tracing – leverage a modern, fast visualization platform for in‑depth pipeline analysis.
  • 🚀 Extends gem5's performance analysis – transform O3PipeView traces into an interactive timeline, offering a novel perspective on verification and performance analysis of PipeView traces..
  • 🎯 Identify compute‑bound and memory‑bound bottlenecks – visualize pipeline stage occupancy and execution unit utilization to quickly determine whether performance is limited by computation or memory access.
  • 🔍 Interactive exploration – zoom, pan, and inspect individual instructions in Perfetto.

Quick Start

pip install --upgrade pip setuptools wheel
git clone git@github.com:ProteusLab/uScope.git
cd uScope
pip install -e .

Usage

  1. Collect a trace from gem5 with the O3PipeView debug flag:
/path/to/gem5.opt                   \
    --debug-flags=O3PipeView        \
    --debug-file=trace.out          \
    configs/example/se.py           \
    --cpu-type=O3CPU                \
    --cmd=/path/to/your-program
  1. Convert the trace:
uScope --input-file trace.out --output trace.json
  1. Open trace.json in Perfetto UI to explore the pipeline.

Examples

  • Explore the examples/ directory for assembly programs and their corresponding tracings.

Contributing

We welcome contributions! Feel free to open issues or submit pull requests.