A Metric for HPC Programming Model Productivity

Lin, Wei-Chen and Deakin, Tom and McIntosh-Smith, Simon

International Workshop on Performance, Portability and Productivity in HPC held in conjunction with Supercomputing (P3HPC), 2024

Abstract

There has been a healthy growth of heterogeneous programming models that cover different paradigms in the HPC space. Selecting an appropriate programming model for new projects is challenging: how does one select a model that is both productive and performant? The same applies for existing projects aiming to leverage heterogeneous offload capabilities. While characterisation of programming model performance has been abundant and comprehensive, productivity metrics are often reduced to basic measures like Source Line of Code (SLOC). This study introduces a novel model divergence measure to objectively evaluate productivity. We cover common aspects of productivity, including syntax, semantics, and optimisation overhead. We present a productivity analysis framework supporting GCC and Clang, covering models for C/C++ and Fortran. We evaluate our metric using this framework on mini-apps from SPEChpc and other established mini-apps, and propose a combined productivity and performance probability visualisation for a comprehensive picture.

@inproceedings{p3hpc24,
  author = {Lin, Wei-Chen and Deakin, Tom and McIntosh-Smith, Simon},
  title = {{A Metric for HPC Programming Model Productivity}},
  booktitle = {{International Workshop on Performance, Portability and Productivity in HPC held in conjunction with Supercomputing (P3HPC)}},
  year = {2024},
  publisher = {{IEEE}},
  keywords = {Conferences and Workshops},
  doi = {10.1109/SCW63240.2024.00160}
}