Journal metrics

Journal metrics

  • IF value: 4.252 IF 4.252
  • IF 5-year value: 4.890 IF 5-year 4.890
  • CiteScore value: 4.49 CiteScore 4.49
  • SNIP value: 1.539 SNIP 1.539
  • SJR value: 2.404 SJR 2.404
  • IPP value: 4.28 IPP 4.28
  • h5-index value: 40 h5-index 40
  • Scimago H index value: 51 Scimago H index 51
Discussion papers | Copyright
© Author(s) 2017. This work is distributed under
the Creative Commons Attribution 4.0 License.

Development and technical paper 13 Jul 2017

Development and technical paper | 13 Jul 2017

Review status
This discussion paper is a preprint. A revision of the manuscript 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 Andrew Porter et al.
  • 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.

Download & links
Andrew Porter et al.
Interactive discussion
Status: final response (author comments only)
Status: final response (author comments only)
AC: Author comment | RC: Referee comment | SC: Short comment | EC: Editor comment
[Login for Authors/Topical Editors] [Subscribe to comment alert] Printer-friendly Version - Printer-friendly version Supplement - Supplement
Andrew Porter et al.
Andrew Porter et al.
Total article views: 369 (including HTML, PDF, and XML)
HTML PDF XML Total BibTeX EndNote
249 106 14 369 9 16
  • HTML: 249
  • PDF: 106
  • XML: 14
  • Total: 369
  • BibTeX: 9
  • EndNote: 16
Views and downloads (calculated since 13 Jul 2017)
Cumulative views and downloads (calculated since 13 Jul 2017)
Viewed (geographical distribution)
Total article views: 369 (including HTML, PDF, and XML) Thereof 365 with geography defined and 4 with unknown origin.
Country # Views %
  • 1
No saved metrics found.
No discussed metrics found.
Latest update: 15 Jul 2018
Publications Copernicus
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...