Scaling hybrid coarray/MPI miniapps on Archer

Luis Cebamanos, Anton Shterenlikht, Jose D. Arregui-Mena, Lee Margetts

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract / Description of output

We have developed miniapps from MPI finite element library ParaFEM and Fortran 2008 coarray cellular automata library CGPACK. The miniapps represent multi-scale fracture models of polycrystalline solids. The software from which these miniapps have been derived will improve predictive modelling in the automotive, aerospace, power generation, defense and manufacturing sectors. The libraries and miniapps are distributed under BSD license, so these can be used by computer scientists and hardware vendors to test various tools including compilers and performance monitoring applications. CrayPAT tools have been used for sampling and tracing analysis of the miniapps. Two routines with all-to-all communication structures have been identified a primary candidates for optimisation. New routines have been written implementing the nearest neighbour algorithm and using coarray collectives. Scaling limit for miniapps has been increased by a factor of 3, from about 2k to over 7k cores. The miniapps uncovered several issues in CrayPAT and Cray implementation of Fortran coarrays. We are working with Cray engineers to resolve these. Hybrid coarray/MPI programming is uniquely enabled on Cray systems. This work is of particular interest to Cray developers, because it details real experiences of using hybrid Fortran coarray/MPI programming for scientific computing in an area of cutting edge research.
Original languageEnglish
Title of host publicationCUG2016 Proceedings
Number of pages10
Publication statusPublished - 31 Dec 2016

Keywords / Materials (for Non-textual outputs)

  • miniapps
  • Fortran
  • coarrays
  • MPI
  • library
  • profiling
  • CrayPAT
  • ARCHER

Fingerprint

Dive into the research topics of 'Scaling hybrid coarray/MPI miniapps on Archer'. Together they form a unique fingerprint.

Cite this