Papers for

hpc software developers

Papers whose findings have a practical use for this group, as judged from the abstract. Open a paper to read what it means in practice.

Productivity measures and challenges in high performance computing

Productivity in HPC: A Critical Review from SLOC and Performance Portability to AI-Assisted Programming

Abstract: Productivity has long been recognized as a central concern in high-performance computing (HPC), yet it still lacks a workable formal definition and a broadly accepted metric for quantified assessment. Recent attempts to incorporate productivity into performance-portability analysis have introduced code-divergence, convergence, and semantic measures, but have not established a convincing formal relationship between productivity and performance portability. More recent language and compiler systems, including JACC, Mojo, JLIR, and Accl++, pursue productive performance portability through higher-level abstractions, multi-level intermediate representations, automatic kernel generation, and runtime compilation. These systems demonstrate substantial engineering progress, while productivity is still commonly represented through programmability, ecosystem reuse, code size, or reduced implementation burden rather than direct measurement of human effort. This paper presents a critical review of HPC productivity measurement, tracing its development from source lines of code (SLOC), static complexity, and empirical usability studies to development-time models and semantic approaches. We also examine how automated migration and artificial-intelligence(AI)-assisted programming weaken the correspondence between code transformation and human effort, shifting effort toward verification, correction, and performance tuning. The reviewed methods are compared in terms of what they measure, directness, objectivity, reproducibility, practicality, and their relationship to performance and portability. We conclude by identifying the principal limitations and open challenges for quantified HPC productivity assessment.

Mon 5 OctDistributed, Parallel, and Cluster Computing
The gist
Measuring productivity in high-performance computing (HPC) has been difficult because there is no standard way to define or quantify it. The authors review how productivity has been assessed, from counting lines of code to looking at code complexity and usability studies. They discuss newer programming tools that use automation and artificial intelligence, which shift human effort from writing code to verifying and tuning it. The paper compares different productivity measurement methods and highlights ongoing challenges in accurately assessing effort and performance in HPC programming.
Open → 2610.07495v1

Machine learning reduces tuning steps to speed up hpc performance

Accelerating Transfer-Learning-Based Autotuning with Predictive LLVM IR Performance Ranking

Abstract: As the complexity of High Performance Computing (HPC) ecosys- tems continually increases, achieving optimal performance becomes a challenge. Traditional performance autotuning techniques pro- vide promising means to navigate this complexity, these techniques remain computationally intensive and require many evaluations to find optimal configurations. This work proposes an autotuning framework that designs a machine learning-based ensemble LLVM Intermediate Representa- tion (IR) ranker, Neural Configuration Scorer (NCS). NCS ranks the performance of IRs sampled by a transfer-learning-based autotuner, improving the efficiency of the tuning process by reducing tuning overheads and circumventing subpar evaluations. By leveraging knowledge from related tasks, we are able to effectively exploit the transfer relationship to access high-performing configurations in fewer samples than traditional techniques that rely upon itera- tive refinement. Our framework can achieve similar performance improvements as state-of-the-art autotuning techniques with up to 61.67% fewer evaluations, averaging 27.85% fewer evaluations across various HPC benchmarks.

Mon 14 SeptPerformanceMachine Learning
The gist
High performance computing systems are very complex and finding the best settings to make them run faster takes a lot of time and testing. This paper introduces a new way to speed up that process by using a machine learning model that predicts which program versions will perform better, so fewer tests are needed. The authors use transfer learning to borrow knowledge from similar tasks, helping to quickly find good configurations. Their method reduces the number of performance checks by up to 62%, making tuning more efficient.
Open → 2609.15807v1