Modeling and analyzing evaluation cost of CUDA kernels
Stefan K. Muller, Jan Hoffmann
摘要
General-purpose programming on GPUs (GPGPU) is becoming increasingly in vogue as applications such as machine learning and scientific computing demand high throughput in vector-parallel applications. NVIDIA's CUDA toolkit seeks to make GPGPU programming accessible by allowing programmers to write GPU functions, called kernels, in a small extension of C/C++. However, due to CUDA's complex execution model, the performance characteristics of CUDA kernels are difficult to predict, especially for novice programmers. This paper introduces a novel quantitative program logic for CUDA kernels, which allows programmers to reason about both functional correctness and resource usage of CUDA kernels, paying particular attention to a set of common but CUDA-specific performance bottlenecks. The logic is proved sound with respect to a novel operational cost semantics for CUDA kernels. The semantics, logic and soundness proofs are formalized in Coq. An inference algorithm based on LP solving automatically synthesizes symbolic resource bounds by generating derivations in the logic. This algorithm is the basis of RaCuda, an end-to-end resource-analysis tool for kernels, which has been implemented using an existing resource-analysis tool for imperative programs. An experimental evaluation on a suite of CUDA benchmarks shows that the analysis is effective in aiding the detection of performance bugs in CUDA kernels.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper6
- Checking Data-Race Freedom of GPU Kernels, CompositionallyTiago Cogumbreiro, Julien Lange, Dennis Liew Zhen Rong, Hannah ZicarelliCAV 2021 · 被引用 17 次
- Sound and Partially-Complete Static Analysis of Data-Races in GPU ProgramsDennis Liew, Tiago Cogumbreiro, Julien LangeOOPSLA 2024 · 被引用 10 次
- TrackFM: Far-out Compiler Support for a Far Memory WorldBrian R. Tauro, Brian Suchy, Simone Campanoni, Peter A. Dinda 等ASPLOS 2024 · 被引用 6 次
- A Modular Static Cost Analysis for GPU Warp-Level ParallelismGregory Blike, Hannah Zicarelli, Udaya Sathiyamoorthy, Julien Lange 等POPL 2026 · 被引用 1 次
- Modular GPU Programming with Typed PerspectivesManya Bansal, Daniel Sainati, Joseph W. Cutler, Saman P. Amarasinghe 等PLDI 2026
它引用的顶会 Paper1
相关 Paper
- Kuiper: Correct and Efficient GPU Programming with Dependent Types and Separation LogicGuido Martínez, Bastian Köpcke, Jonás Fiala, Gabriel Ebner 等PLDI 2026 · 被引用 2 次
- iGUARD: In-GPU Advanced Race DetectionAditya K. Kamath, Arkaprava BasuSOSP 2021 · 被引用 11 次
- Descend: A Safe GPU Systems Programming LanguageBastian Köpcke, Sergei Gorlatch, Michel SteuwerPLDI 2024 · 被引用 7 次
- SuperCollider: Scalable and Effective Data Race Detection for CUDAMark Stephenson, Sana Damani, Mohamed Tarek Ibn Ziad, Anis Ladram 等PLDI 2026
- Understanding Performance Problems in CUDA ProgramsYuyang Bi, Junming Cao, You Lu, Bihuan Chen 等FSE 2026
