SPACE-Timers -- A Stack-Based Hierarchical Timing System for C++
Geray S. Karademir, Klaus Dolag

TL;DR
SPACE-Timers is a lightweight, hierarchical profiling framework for C++ HPC applications that captures nested execution patterns with minimal overhead and supports multiple backends.
Contribution
It introduces a novel stack-based timing model with recursive aggregation, supporting various profiling backends and energy-aware optimization in scientific computing.
Findings
Effective in large-scale scientific applications like OpenGadget3
Supports multiple profiling backends including NVTX, ITT, ROCtx, and Omnitrace
Provides detailed runtime analysis with minimal overhead
Abstract
SPACE-Timers are a lightweight hierarchical profiling framework for C++ designed for modern high-performance computing (HPC) applications. It uses a stack-based timing model to capture deeply nested execution patterns with minimal overhead, representing runtime behaviour as a tree of timing nodes with precise attribution. The framework provides structured reports with recursive aggregation, detection of unaccounted time, and compact visual summaries of runtime distribution, supporting both quick inspection and detailed analysis. It also includes checkpointing and error detection mechanisms. SPACE-Timers supports multiple profiling backends, including NVTX, ITT, ROCtx, and Omnitrace, and integrates with the MERIC runtime system to enable energy-aware optimisation. Its successful use in OpenGadget3 demonstrates its effectiveness for large-scale scientific applications.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
