AnyDSL: A Partial Evaluation Framework for Programming High-Performance Libraries
Event Type
Focus Session
HPC Accelerators
Heterogeneous Systems
Programming Models & Languages
TimeWednesday, June 19th9:40am - 10am CEST
LocationPanorama 1
DescriptionAnyDSL is a framework for the implementation of domain-specific libraries (DSLs). Library abstractions are designed in Impala, a functional and imperative language. In order to achieve high-performance, Impala partially evaluates any abstractions these libraries might impose. Partial evaluation and other optimizations are performed on AnyDSL’s intermediate representation Thorin. This allows to separate the algorithm description from the target hardware mapping, generating highly optimized implementations for CPU, GPU, or FPGA from the same generic, high-level code base. The performance of the generated code is competitive with manual, hand-optimized implementations for many application domains such as image processing, real-time ray tracing, or bioinformatics.