Writing parallel programs with Fortran 2008 and 2015 coarrays

Joint meeting with BCS Advanced Programming Specialist Group

Thursday 9th November 2017, 18.00 - 21.30 at BCS London Office

  • 18:00-18:30 Arrival, networking, tea & coffee
  • 18:30-19:30 Presentation "Writing parallel programs with Fortran 2008 and 2015 coarrays"
  • 19:30-19:45 Questions and Answers
  • 19:45-21:30 Networking with food and wine

Speaker:
Dr Anton Shterenlikht MInstP, AMBCS

Senior lecturer in solid mechanics, Mechanical Engineering Department, The University of Bristol

Summary:
Coarrays are a native Fortran means for SPMD programming. Although used as an extention to the standard for over 20 years, mosly on Cray systems, coarrays were standardised in Fortran 2008, with a much richer set of features added in Fortran 2015.

Coarrays are a high level of abstraction, and can be used on shared or distributed memory systems, including accelerators or coprocessors. Coarrays have been implemented by Cray via DMAPP libraries, by Intel via MPI and by OpenCoarrays/GCC via MPI and GASNet.

At runtime a number of identical copies of the executable (images) are started and executing asynchronously. Each image has a unique number and a private address space. Using symmetric memory, remote calls can be made with no participation of the remote image, making modern Fortran a PGAS or a single sided communication language. The talk will describe Fortran 2008 coarray syntax and semantics, including synchronisation, allocatable coarrays, remote calls, atomics, locks, critical sections and termination. A comparison with OpenMP and MPI is provided.

We briefly discuss the upcoming Fortran 2015 standard which added collecives, events, teams, and more atomics. The use of coarrays in a cellular automata (regular grid) method is demonstrated, with scaling up to 32k cores on ARCHER. Finally we discuss coarray tools and IO.

Keywords:
Fortran, coarrays, SPMD, MPI, PGAS, scaling, ARCHER, Cray, HPC

Speaker biography:
1997 MEng in Mechanical Engineering from Bauman Moscow State Technical University.
2004 PhD from the University of Sheffield, "3D CAFE modelling of transitional ductile-brittle fracture in steels". RA positions at Sheffield in Manchester - computational and experimental fracture mechanics.

Since 2006 a lecturer, then a senior lecturer in solid mechanics with the Mech Eng Dept at the University of Bristol.

Since 2015 a member of the ISO Fortran standardisation committee, and since 2017 an alternate member of the US Fortran standardisation committee, and BSC Fortran specialist group standards officer. Also since 2017 the chair of the Computational Physics Group (CPG) of the Institute of Physics. Over 65 publications on computational and fracture mechanics and HPC.

Booking:
Booking via Eventbrite is a new thing for BCS.
(Not everything is working perfectly, thus the currently shown title of the talk is not correct.
Attendance is free and both BCS members and non-members are welcome to attend.

Closing date for bookings is Wednesday 8 November 2017 at 11:59pm. No more bookings will be taken after this date.


Comments on this or any other of the Group's pages should be sent by email to the FSG Web Editor.
Valid XHTML 1.0 Transitional Valid CSS!

Last modified: Wed 25 Jul 2018 19:51:09