Jan 28 Invited Talk on Proteus

Hello everyone,

We are excited to announce an invited talk on Jan 28 to take place during the office-hour/dev-meeting time slot. The session will be recorded if you cannot make it to the event live. Please see our calendar for instruction to join: Numba Dev Meetings

Proteus: JIT compilation and runtime optimization for C/C++ using LLVM

Abstract: In high-performance computing (HPC), fast application execution is the primary objective. HPC software is developed in high-performance languages (C/C++, Fortran) and is statically compiled ahead-of-time (AOT) using optimizing compilers to generate fast code. AOT compilation optimizes source code with only limited information available at compile time, but that precludes leveraging runtime information for additional optimizations.

We propose Proteus, an easy-to-use, portable, and lightweight Just-In-Time (JIT) compilation approach to optimize GPU kernels at runtime. Proteus introduces a user-friendly, annotation-based interface to dynamically extract, compile, and optimize kernels for runtime parameters, with minimal overhead by using LLVM IR and caching. Benchmark results show that Proteus significantly speeds up end-to-end execution, up to 2.8x on AMD and 1.78x on NVIDIA GPUs compared to AOT compilation. Additionally, Proteus outperforms NVIDIA’s CUDA-specific Jitify tool by an average of 1.23x, thanks to reduced overhead and faster device code in certain cases.

If you missed the live talk, you can find the recording at: https://www.youtube.com/watch?v=JNT5nDlMeS8