Journal cover Journal topic
Geoscientific Model Development An interactive open-access journal of the European Geosciences Union
https://doi.org/10.5194/gmd-2017-150
© Author(s) 2017. This work is distributed under
the Creative Commons Attribution 4.0 License.
Development and technical paper
13 Jul 2017
Review status
This discussion paper is under review for the journal Geoscientific Model Development (GMD).
Portable Multi- and Many-Core Performance for Finite Difference Codes; Application to the Free-Surface Component of NEMO
Andrew Porter1, Jeremy Appleyard2, Mike Ashworth1, Rupert Ford1, Jason Holt3, Hedong Liu3, and Graham Riley4 1Science and Technology Facilities Council, Daresbury Laboratory, UK
2NVIDIA Corporation
3National Oceanography Centre, Liverpool, UK
4University of Manchester, Manchester, UK
Abstract. We present an approach which we call PSyKAl that is designed to achieve portable performance for parallel, finite-difference Ocean models. In PSyKAl the code related to the underlying science is formally separated from code related to parallelisation and single-core optimisations. This separation of concerns allows scientists to code their science independently of the underlying hardware architecture and for optimisation specialists to be able to tailor the code for a particular machine independently of the science code. We have taken the free-surface part of the NEMO ocean model and created a new, shallow-water model named NEMOLite2D. In doing this we have a code which is of a manageable size and yet which incorporates elements of full ocean models (input/output, boundary conditions, etc.). We have then manually constructed a PSyKAl version of this code and investigated the transformations that must be applied to the middle/PSy layer in order to achieve good performance, both serial and parallel. We have produced versions of the PSy layer parallelised with both OpenMP and OpenACC; in both cases we were able to leave the natural-science parts of the code unchanged while achieving good performance on both multi-core CPUs and GPUs. In quantifying whether or not the obtained performance is `good' we also consider the limitations of the basic roofline model and improve on it by generating kernel-specific CPU ceilings.

Citation: Porter, A., Appleyard, J., Ashworth, M., Ford, R., Holt, J., Liu, H., and Riley, G.: Portable Multi- and Many-Core Performance for Finite Difference Codes; Application to the Free-Surface Component of NEMO, Geosci. Model Dev. Discuss., https://doi.org/10.5194/gmd-2017-150, in review, 2017.
Andrew Porter et al.
Andrew Porter et al.
Andrew Porter et al.

Viewed

Total article views: 89 (including HTML, PDF, and XML)

HTML PDF XML Total BibTeX EndNote
66 22 1 89 1 2

Views and downloads (calculated since 13 Jul 2017)

Cumulative views and downloads (calculated since 13 Jul 2017)

Viewed (geographical distribution)

Total article views: 89 (including HTML, PDF, and XML)

Thereof 88 with geography defined and 1 with unknown origin.

Country # Views %
  • 1

Saved

Discussed

Latest update: 20 Jul 2017
Publications Copernicus
Download
Short summary
Developing computer models in the earth-system domain is a complex and expensive process that can have a duration measured in years. The supercomputers required to run these models are however evolving fast with a proliferation of technologies and associated programming models. As a result there is a need that models be 'performance portable' between different supercomputers. This paper investigates a way of doing this through a separation of the concerns of performance and natural science.
Developing computer models in the earth-system domain is a complex and expensive process that...
Share