Software Abstractions and Methodologies for HPC Simulation Codes on Future Architectures - Anshu Dubey; Steve R Brandt; Richard Brower; Merle Giles; Paul Hovland; Donald Q Lamb; Frank Löffler; Boyana Norris; Brian W O'Shea; Claudio Rebbi; Marc Snir; Rajeev Thakur; et al. (Journal of open research software, 2014)
Simulations with multi-physics modeling have become crucial to many science and engineering fields, and multi-physics capable scientific software is as important to these fields as instruments and facilities are to experimental sciences. The current generation of mature multi-physics codes would have sustainably served their target communities with modest amount of ongoing investment for enhancing capabilities. However, the revolution occurring in the hardware architecture has made it necessary to tackle the parallelism and performance management in these codes at multiple levels. The requirements of various levels are often at cross-purposes with one another, and therefore hugely complicate the software design. All of these considerations make it essential to approach this challenge cooperatively as a community. We conducted a series of workshops under an NSF-SI2 conceptualization grant to get input from various stakeholders, and to identify broad approaches that might lead to a solution. In this position paper we detail the major concerns articulated by the application code developers, and emerging trends in utilization of programming abstractions that we found through these workshops.