Give a JIT on GPUs: NVRTC for Code-Generating Database Systems
Anton Sachnov, Leonard von Merzljak, Maximilian Emanuel Schüle · 2024
Code generation for GPU database systems creates fast runtime code but suffers from expensive compilation and requires all modules to be compiled before execution. This paper investigates how the NVIDIA runtime compiler (NVRTC) accelerates compilation for code-generating GPU database systems. Using NVRTC, we demonstrate just-in-time (JIT) compilation for a tuple-at-a-time (push-based) query execution model. For an exemplary analytical query, NVRTC accelerates the compilation time by a a factor of eight compared to NVIDIA’s CUDA compiler (nvcc). This will allow the development of code-generating GPU database systems for adaptive query execution.