30098

The Fused Kernel Library: A C++ API to Develop Highly-Efficient GPU Libraries

Oscar Amoros, Albert Andaluz, Johnny Nunez, Antonio J. Pena
Departament d’Arquitectura de Computadors, Universitat Politecnica de Catalunya, Barcelona, Spain
arXiv:2508.07071 [cs.DC], (9 Aug 2025)

@misc{amoros2025fusedkernellibraryc,

   title={The Fused Kernel Library: A C++ API to Develop Highly-Efficient GPU Libraries},

   author={Oscar Amoros and Albert Andaluz and Johnny Nunez and Antonio J. Pena},

   year={2025},

   eprint={2508.07071},

   archivePrefix={arXiv},

   primaryClass={cs.DC},

   url={https://arxiv.org/abs/2508.07071}

}

Download Download (PDF)   View View   Source Source   Source codes Source codes

6852

views

Existing GPU libraries often struggle to fully exploit the parallel resources and on-chip memory (SRAM) of GPUs when chaining multiple GPU functions as individual kernels. While Kernel Fusion (KF) techniques like Horizontal Fusion (HF) and Vertical Fusion (VF) can mitigate this, current library implementations often require library developers to manually create fused kernels. Hence, library users rely on limited sets of pre-compiled or template-based fused kernels. This limits the use cases that can benefit from HF and VF and increases development costs. In order to solve these issues, we present a novel methodology for building GPU libraries that enables automatic on-demand HF and VF for arbitrary combinations of GPU library functions. Our methodology defines reusable, fusionable components that users combine via high-level programming interfaces. Leveraging C++17 metaprogramming features available in compilers like nvcc, our methodology generates a single and optimized fused kernel tailored to the user’s specific sequence of operations at compile time, without needing a custom compiler or manual development and pre-compilation of kernel combinations. This approach abstracts low-level GPU complexities while maximizing GPU resource utilization and keeping intermediate data in SRAM. We provide an open-source implementation demonstrating significant speedups compared to traditional libraries in various benchmarks, validating the effectiveness of this methodology for improving GPU performance in the range of 2x to more than 1000x, while preserving high-level programmability.
No votes yet.
Please wait...

You must be logged in to post a comment.

* * *

* * *

HGPU group © 2010-2025 hgpu.org

All rights belong to the respective authors

Contact us: