Simplifying the Development, Use and Sustainability of HPC Software

J. Cohen, C. D. Cantwell, N. P. Chue Hong, D. Moxey, M. Illingworth, A. Turner, J. Darlington, S. J. Sherwin

WSSPE13 Workshop, Supercomputing (2013)

@inproceedings{cohen-2013a,
  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},
  booktitle = {WSSPE13 Workshop, Supercomputing},
  year = {2013},
  url = {https://davidmoxey.uk/assets/pubs/2013-wsspe13.pdf},
  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 HPC computations, scientists require more support from computer scientists and resource providers to develop efficient code and make 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. The use of such frameworks has implications for the sustainability of scientific software. In this paper we set out our developing understanding of these challenges based on work carried out in the libhpc project.}
}

The workshop paper from which our libhpc work was later published in extended form. It sets out the difficulty of writing efficient scientific software when doing so demands both domain knowledge and software development skill, and what the framework being built in the libhpc project implies for the sustainability of that 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 HPC computations, scientists require more support from computer scientists and resource providers to develop efficient code and make 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. The use of such frameworks has implications for the sustainability of scientific software. In this paper we set out our developing understanding of these challenges based on work carried out in the libhpc project.