Concepedia

TLDR

High‑performance computing for computational science and engineering is increasingly needed, yet few detailed studies exist on the software engineering process for these applications. The studies aim to characterize tool usage, identify productivity‑enhancing enhancements, and develop transferable lessons to improve the software engineering process for the broader computational science and engineering community. DARPA’s High Productivity Computing Systems Program sponsored case studies of representative projects to map development life cycles, workflows, technical and organizational challenges. Nine lessons learned from five projects were distilled, highlighting software engineering implications for the domain.

Abstract

The need for high performance computing applications for computational science and engineering projects is growing rapidly, yet there have been few detailed studies of the software engineering process used for these applications. The DARPA High Productivity Computing Systems Program has sponsored a series of case studies of representative computational science and engineering projects to identify the steps involved in developing such applications (i.e. the life cycle, the workflows, technical challenges, and organizational challenges). secondary goals were to characterize tool usage and identify enhancements that would increase the programmers' productivity. Finally, these studies were designed to develop a set of lessons learned that can be transferred to the general computational science and engineering community to improve the software engineering process used for their applications. Nine lessons learned from five representative projects are presented, along with their software engineering implications, to provide insight into the software development environments in this domain.

References

YearCitations

Page 1