PFDCLGMSApr 10, 2019

Cross-Platform Performance Portability Using Highly Parametrized SYCL Kernels

arXiv:1904.05347v19 citations
Originality Incremental advance
AI Analysis

This addresses the challenge for HPC developers who need to optimize code for multiple accelerators, though it is incremental as it builds on existing SYCL programming models.

The paper tackled the problem of performance portability across heterogeneous systems by developing highly parameterized SYCL kernels for matrix multiplies and convolutions, achieving performance competitive with vendor implementations on different architectures.

Over recent years heterogeneous systems have become more prevalent across HPC systems, with over 100 supercomputers in the TOP500 incorporating GPUs or other accelerators. These hardware platforms have different performance characteristics and optimization requirements. In order to make the most of multiple accelerators a developer has to provide implementations of their algorithms tuned for each device. Hardware vendors provide libraries targeting their devices specifically, which provide good performance but frequently have different API designs, hampering portability. The SYCL programming model allows users to write heterogeneous programs using completely standard C++, and so developers have access to the power of C++ templates when developing compute kernels. In this paper we show that by writing highly parameterized kernels for matrix multiplies and convolutions we achieve performance competitive with vendor implementations across different architectures. Furthermore, tuning for new devices amounts to choosing the combinations of kernel parameters that perform best on the hardware.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes