Argus: Orchestrating Cross-Layer GPU Performance Measurements around Semantic Regions
Argus通过自动化跨层GPU性能测量提升了AlphaEvolve的速度从5.4%到8.9%。
核心发现
方法论
Argus是一种区域中心的测量计划器和运行时系统,自动化跨层GPU性能测量。用户通过标记代码区域并选择信号和执行范围,Argus保持区域身份,构建多次运行计划,并在不同后端之间协调转换和分析。
关键结果
- 在44个持久GEMM和注意力配置中,Argus在39个配置中提升了性能,将AlphaEvolve的几何平均速度从5.4%提高到8.9%。
- 在持久TinyLlama-1.1B解码megakernel上,优化代理使用Argus达到1.65 ms/token,而没有Argus时为4.92 ms/token,比PyTorch快2.1倍。
- Argus引导的跨层PGO提高了计算-通信重叠,在五个多GPU设置中平均提高了7%的吞吐量。
研究意义
Argus通过自动化和统一的跨层测量,解决了GPU性能测量中的碎片化问题,为开发者和自动化优化器提供了更精确的性能证据。这一工具不仅提升了现有优化方法的效率,还为未来的GPU优化研究提供了新的视角和工具。
技术贡献
Argus的技术贡献在于其区域中心的观测模型,能够在编译和执行过程中保持区域身份,并提供跨分析器视图的共同归因空间。它还开发了一种干扰感知的测量计划器,能够从区域级请求中构建有效的多次运行测量计划。
新颖性
Argus首次实现了跨层GPU性能测量的自动化,解决了现有工具碎片化的问题。与现有方法相比,Argus能够更好地协调不同层次的性能数据,提供更全面的性能分析。
局限性
- Argus在处理非常复杂的GPU内核时可能会遇到性能瓶颈,因为其测量计划可能会导致额外的开销。
- 在某些情况下,Argus可能无法完全消除测量干扰,特别是在高并发的执行环境中。
- Argus的实现目前仅支持NVIDIA Hopper GPU,限制了其在其他硬件平台上的适用性。
未来方向
未来的工作将包括扩展Argus的适用范围到更多的硬件平台,并优化其测量计划以减少开销。此外,探索如何将Argus与其他性能优化工具结合使用也是一个重要方向。
AI 总览摘要
Argus是一种创新的工具,旨在解决GPU性能测量中的碎片化问题。现有的性能分析工具往往只能提供某一层次的视图,导致开发者难以获得全面的性能数据。Argus通过自动化跨层测量,提供了一种统一的解决方案。
Argus的核心在于其区域中心的测量计划器和运行时系统。用户可以通过简单的标记和选择信号来定义感兴趣的代码区域,Argus会自动保持这些区域的身份,并在不同的后端之间协调转换和分析。这一过程大大简化了性能测量的工作量。
在实验中,Argus显著提升了多种GPU配置的性能。例如,在持久TinyLlama-1.1B解码megakernel上,Argus使得优化代理的速度提高了2.1倍。通过提高计算-通信重叠,Argus在多GPU设置中平均提高了7%的吞吐量。
深度解读
原文摘要
GPU developers and automated optimizers need performance evidence for semantic code regions--such as neural-network operator implementations and pipeline stages--but this evidence is fragmented across profiling tools. Answering a region-level question can require manually constructing probes and program variants, isolating interfering measurements, and mapping evidence to regions and execution contexts. We present Argus, a region-centric measurement planner and runtime that automates this workflow. Clients identify regions with boundary markers and select signals and execution scopes. Argus preserves region identity across compilation, execution, and measurement variants, constructs interference-aware multi-run plans, and orchestrates transformations and profiling across backends. It joins compiler-, hardware-, and system-level evidence using region identity and dynamic execution context, producing reports that record measurement origins and attribution ambiguity. We evaluate Argus across agentic kernel optimization, persistent megakernel optimization, and cross-level PGO. Across 44 persistent-GEMM and attention configurations, Argus improves 39/44 cases and raises AlphaEvolve's geometric-mean speedup from 5.4% to 8.9%. On a persistent TinyLlama-1.1B decode megakernel, an optimization agent reaches 1.65 ms/token with Argus versus 4.92 ms/token without it, producing a kernel $2.1\times$ faster than PyTorch with CUDA Graphs. Finally, Argus-guided cross-level PGO improves compute--communication overlap, increasing throughput by 7% on average across five multi-GPU settings.