Lessons learned in a decade of research software engineering GPU applications
Ben van Werkhoven (1), Willem Jan Palenstijn (2), Alessio Sclocco (1), ((1) Netherlands eScience Center, (2) Centrum Wiskunde & Informatica)

TL;DR
This paper reviews a decade of research software engineering involving GPU applications across various scientific fields, highlighting technical and socio-technical challenges faced and lessons learned for sustainable development.
Contribution
It provides a comprehensive analysis of challenges and lessons learned from a decade of GPU-based scientific software engineering, offering insights for future projects.
Findings
Managing multiple programming languages is complex.
Maintaining sustainability over time is challenging.
Evaluating both results and performance is crucial.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
