SEDCMay 27, 2020

Lessons learned in a decade of research software engineering GPU applications

arXiv:2005.13227v118 citations
Originality Synthesis-oriented
AI Analysis

This work addresses practical hurdles for RSEs in scientific computing, but it is incremental as it synthesizes known issues rather than introducing new solutions.

The paper identifies technical, socio-technical, and non-technical challenges faced by Research Software Engineers (RSEs) in developing GPU-accelerated scientific applications across diverse fields like tomography and climate modeling, based on a decade of experience.

After years of using Graphics Processing Units (GPUs) to accelerate scientific applications in fields as varied as tomography, computer vision, climate modeling, digital forensics, geospatial databases, particle physics, radio astronomy, and localization microscopy, we noticed a number of technical, socio-technical, and non-technical challenges that Research Software Engineers (RSEs) may run into. While some of these challenges, such as managing different programming languages within a project, or having to deal with different memory spaces, are common to all software projects involving GPUs, others are more typical of scientific software projects. Among these challenges we include changing resolutions or scales, maintaining an application over time and making it sustainable, and evaluating both the obtained results and the achieved performance. %In this paper, we present the challenges and lessons learned from research software engineering GPU applications.

Foundations

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

Your Notes