Sanil Rao, A. Prakash and Franz Franchetti (Proc. High Performance Extreme Computing (HPEC), 2024)
Towards LibraryX: A Framework for Cross-Library Call Optimization
Comment: Outstanding Short Student Paper Award
Preprint (144 KB)
Bibtex

In scientific computing, key algorithms are implemented using domain specific libraries. In many cases these algorithms cannot be expressed using just one domain library, instead having to use library calls from various domains. Cross library implementations are productive but suffer in performance because library developers cannot optimize library calls outside their domain. Additionally, automated solutions like compilers struggle to optimize these cases as they cannot cross the library call boundary. This leaves manually implementing optimized algorithms for idealized performance, hindering readability and productivity.We propose LibraryX as a framework to express key algorithms using domain libraries while automatically providing high-performance implementations done by hand. LibraryX uses a combination of library call semantic capture, abstraction lifting/code generation, and runtime compilation to provide optimized implementations without modifying the source application. We demonstrate LibraryX using the example of FFT convolution.

Keywords:
Algorithm, Convolutions, Optimizing, FFT, Code generator, Compiler, Library, Verified compilation