Simplifying the Development, Use and Sustainability of HPC Software
J. Open Res. Soft., vol. 2 (2014)
@article{cohen-2014,
author = {Cohen, J. and Cantwell, C. D. and Hong, N. P. Chue and Moxey, D. and Illingworth, M. and Turner, A. and Darlington, J. and Sherwin, S. J.},
title = {Simplifying the Development, Use and Sustainability of HPC Software},
journal = jors,
volume = {2},
number = {1},
year = {2014},
abstract = {Developing software to undertake complex, compute-intensive scientific processes requires a challenging combination of both specialist domain knowledge and software development skills to convert this knowledge into efficient code. As computational platforms become increasingly heterogeneous and newer types of platform such as Infrastructure-as-a-Service (IaaS) cloud computing become more widely accepted for high-performance computing (HPC), scientists require more support from computer scientists and resource providers to develop efficient code that offers long-term sustainability and makes optimal use of the resources available to them. As part of the libhpc stage 1 and 2 projects we are developing a framework to provide a richer means of job specification and efficient execution of complex scientific software on heterogeneous infrastructure. In this updated version of our submission to the WSSSPE13 workshop at SuperComputing 2013 we set out our approach to simplifying access to HPC applications and resources for end-users through the use of flexible and interchangeable software components and associated high-level functional-style operations. We believe this approach can support sustainability of scientific software and help to widen access to it.},
issn = {2049-9647},
url = {https://davidmoxey.uk/assets/pubs/2014-jors.pdf},
doi = {10.5334/jors.az}
}
The journal version of our libhpc work. Writing efficient scientific software demands both specialist domain knowledge and software development skill, and increasingly heterogeneous platforms make that combination harder to come by. This paper sets out an approach to simplifying access to HPC applications and resources for end users, through interchangeable software components and high-level functional-style operations, and argues that this also supports the long-term sustainability of scientific software.
Abstract
Developing software to undertake complex, compute-intensive scientific processes requires a challenging combination of both specialist domain knowledge and software development skills to convert this knowledge into efficient code. As computational platforms become increasingly heterogeneous and newer types of platform such as Infrastructure-as-a-Service (IaaS) cloud computing become more widely accepted for high-performance computing (HPC), scientists require more support from computer scientists and resource providers to develop efficient code that offers long-term sustainability and makes optimal use of the resources available to them. As part of the libhpc stage 1 and 2 projects we are developing a framework to provide a richer means of job specification and efficient execution of complex scientific software on heterogeneous infrastructure. In this updated version of our submission to the WSSSPE13 workshop at SuperComputing 2013 we set out our approach to simplifying access to HPC applications and resources for end-users through the use of flexible and interchangeable software components and associated high-level functional-style operations. We believe this approach can support sustainability of scientific software and help to widen access to it.