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!
- 📊 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.
pip install --upgrade pip setuptools wheel
git git@github.com:ProteusLab/uScope.git
cd uScope
pip install -e .- 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- Convert the trace:
uScope --input-file trace.out --output trace.json- Open
trace.jsonin Perfetto UI to explore the pipeline.
- Explore the examples/ directory for assembly programs and their corresponding tracings.
We welcome contributions! Feel free to open issues or submit pull requests.
