Close

Presentation

Reduction-Aware Directive-Based Programming via Multi-Dimensional Homomorphisms
DescriptionDirective-based programming is a productive way to target parallel architectures like GPUs and CPUs. Popular solutions such as OpenMP and OpenACC are widely used because they are simple and broadly applicable to general-purpose codebases. However, they often fail to deliver consistently high and portable performance, particularly for reduction-intensive computations.

We introduce a new directive design based on Multi-Dimensional Homomorphisms (MDH). Unlike existing methods, this MDH-based directive focuses on data-parallel computations, such as tensor expressions, achieving superior and portable performance even for reduction-heavy workloads found in deep learning, data mining, and quantum chemistry. It also maintains or improves programmer productivity by using Python as the host language.

Experiments show that our approach outperforms current directive-based solutions across various workloads, including linear algebra, stencil computations, data mining, quantum chemistry, and deep learning.