CuLifter: Lifting GPU Binaries to Typed IR
Jisheng Zhao, Huanzhi Pu, Shinnung Jeong, Chihyo Ahn, Hyesoon Kim

TL;DR
CuLifter is a framework that accurately lifts GPU binaries to typed LLVM IR by recovering register types, enabling better binary analysis and optimization.
Contribution
It introduces a novel type recovery method for GPU binary lifting that achieves near-perfect lifting success across diverse benchmarks.
Findings
CuLifter successfully lifts 99.98% of GPU functions to valid LLVM IR.
Type recovery is essential; disabling it drops success rate from 73.8% to 0%.
The framework works across open-source, vendor, and ML runtime applications.
Abstract
GPU compilers merge all data types into a single unified register file, erasing the type information that binary-analysis tools rely on. We show that type recovery from this untyped register file is the central challenge of GPU binary lifting. We present CuLifter, a SASS-to-LLVM IR lifting framework that recovers register types via constraint propagation with conflict detection, reconstructs explicit control flow, and aggregates multi-instruction patterns. Across eight benchmark suites (24,437 GPU functions in 919 cubins) spanning open-source applications, vendor libraries, and optimized ML runtimes, CuLifter successfully lifts 99.98% of functions to valid LLVM IR. An ablation study confirms that type recovery is the only step required to produce semantically correct IR: disabling it drops the x86 pass rate from 73.8% to 0%, a 73.8 percentage-point drop.
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.
