Performance Portability of the Chapel Language on Heterogeneous Architectures

Date

Authors

Milthorpe, Josh
Wang, Xianghao
Azizi, Ahmad

Journal Title

Journal ISSN

Volume Title

Publisher

Institute of Electrical and Electronics Engineers Inc.

Access Statement

Research Projects

Organizational Units

Journal Issue

Abstract

A performance-portable application can run on a variety of different hardware platforms, achieving an acceptable level of performance without requiring significant rewriting for each platform. Several performance-portable programming models are now suitable for high-performance scientific application development, including OpenMP and Kokkos. Chapel is a parallel programming language that supports the productive development of high-performance scientific applications and has recently added support for GPU architectures through native code generation. Using three mini-apps - BabelStream, miniBUDE, and TeaLeaf - we evaluate the Chapel language's performance portability across various CPU and GPU platforms. In our evaluation, we replicate and build on previous studies of performance portability using mini-apps, comparing Chapel against OpenMP, Kokkos, and the vendor programming models CUDA and HIP. We find that Chapel achieves comparable performance portability to OpenMP and Kokkos and identify several implementation issues that limit Chapel's performance portability on certain platforms.

Description

Citation

Source

Book Title

2024 IEEE International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2024

Entity type

Publication

Access Statement

License Rights

Restricted until