- 2018 AGM
- Chairman's Report
- Accounts
- Fortran Standards Dev. Report
- Membership Report
- Web Editor's Report
- Minutes
- Presentations
- About us
Fortran Specialist Group
10.45 a.m. T hursday 27th September 2018
Wilkes Room 2,
BCS London
Office,
First Floor, The Davidson Building, 5 Southampton Street, London WC2E 7HA
(nearest Underground stations: Charing Cross, Covent Garden, Embankment and
Leicester Square)
The country voting on the DIS (Draft International Standard) for Fortran 2018 was completed at the beginning of June. There were no negative votes, but there were 77 comments, which were all considered at the WG5 meeting in June. The changes made were all minor. The draft standard itself has been edited to include these changes and has one more round of voting to go through during which only very minor corrections, such as typos, are allowed. It is expected to be published in the autumn.
I will describe the most significant change adopted in June, which relates to the initiation of the random-number generator when running on many processes. I will also provide a brief summary of all the new features.
GNU fortran, or gfortran, was forked from g95 in January 2003, which itself started in early 2000, so that it could be part of the GNU compiler collection or gcc. Gfortran replaced the older g77 since gcc-4.0.0, released in January 2005. The initial aim was to provide a frontend with complete F95 compliance, reasonable performance and legacy F77 support. Since then F2003, F2008 and F2018 features have been added and gfortran is now approaching compliance with all three standards. OpenMP and coarrays are supported, although the gfortran library only supports single image coarrays. Multi image coarray support is provided by the libraries of the OpenCoarrays project.
The gfortran frontend is mostly written in C, although C++ has been creeping in since the gcc project migrated to C++ in 2010. Fortran source is parsed into an intermediate representation, which is then translated into the TREE SSA language for processing by the gcc backend. While some optimisation is done in the frontend, gfortran mostly benefits from the backend optimisation. The result is a free fortran compiler, available on a wide range of platforms, with a similar performance to commercial products, except where auto-parallelisation is used (See https://www.fortran.uk/fortran-compiler-comparisons/). The diagnostic capability is similar to Intel’s ifort.
This talk will start with an account of the history of gfortran together with a discussion of the advantages and disadvantages of it being supported, for the main part, by a group of volunteer maintainers. This will be followed by a brief description of the architecture and the compiler switches to expose the intermediate representations. Then the current compliance with fortran standards will be presented with an emphasis on the incomplete or absent features. The talk will end with an appeal for support or help to make gfortran into a complete F2018 complier.
In 2012 Arm launched its 64-bit instruction set, AArch64, opening up the worlds of enterprise servers, data centres and High Performance Computing (HPC). Since then the emergence of innovative, infrastructure-ready Arm-based CPUs has heralded the arrival of the first large-scale Arm-based supercomputers at sites across the world. HPC has become an indispensable component of scientific research, and the availability of scalable, performant, scientific applications is essential. Fortran is the language ef choice for many of these scientific computing applications. Delivering a credible Arm-based HPC solution requires a healthy developer ecosystem underpinned by both proprietary and opensource Fortran tools.
Last year saw the release of Arm Allinea Studio including the first release of the Arm Fortran Compiler; based on two community-driven projects – LLVM for overall compiler infrastructure and Flang for the Fortran frontend. This allows our users to benefit from advances in these projects in addition to specific tuning by Arm for our architecture. Combined with market leading debug and profiling tools, the Arm C/C++ Compiler, and Arm Performance Libraries, Arm Allinea Studio provides an end-to-end commercial suite for building and porting HPC applications.
This talk will introduce the Arm HPC ecosystem, Arm's HPC tools, and the Arm Fortran Compiler. We will discuss the work underway, centred at Arm's Manchester Design Centre, in collaboration with our partners, to expand the capability and performance of the Arm Fortran Compiler and talk about the practicalities of moving an existing Fortran codebase to an Arm platform.
We introduce “Hybrid Fortran”, a new approach that allows high performance GPU implementations for structured grid Fortran codes while maintaining high productivity when applying the method to legacy codes. A successful application of this method is shown for both dynamical core and physical processes of ASUCA, a Japanese operational mesoscale weather prediction model with more than 150 thousand lines of code, as well as a microphysics benchmark for NICAM, a Japanese climate model. Productivity results show that on the order of 100 kernels can be ported per week, with code changes necessary in the single digit percentages. Performance shows a 3x speedup on GPU for the full ASUCA model as well as a 5x increase for NICAM microphysics, compared to multi-core Xeon (Broadwell) implementations. Finally, we compare various porting methods used in HPC in terms of productivity by use of a productivity model, showing that our approach is among the most productive for Fortran based data parallel applications.
In collaboration with Cray and the Met Office, the GW4 alliance universities of Bristol, Bath, Exeter and Cardiff are building Isambard, one of the world's first production, Arm-based supercomputers. In this talk, I will present our initial benchmarking results from Isambard for a variety of real scientific applications, and discuss the current status of the compiler and tooling ecosystem for Arm processors
In Jan 2018 the Fortran feature survey closed.
Analysis of the survey showed that the two most
popular large feature requests were:
(1) generic programming/templates, and
(2) exceptions (N2147).
The Feb J3 meeting recommended these two features to
WG5 (18-156), as well as lots of smaller features, e.g.
bit strings, proper enumeration types, async subroutine
execution, increased free-form line length, more character
intrinsics, degree trig functions, short-circuit logical
operators, do concurrent reductions, etc., most of which
taken from the user survey. The June WG5 meeting asked
J3 to work on the 2 large features, and also arrays of
allocatables with coarray components, for F202X (N2158).
The WG5 strategic plan for F202X has been updated (N2154)
with a preliminary choice of technical content in 2019 and
the final choice in 2020, with a publication expected in 2021.
The talk will discuss the proposed new features, and emphasise
the importance of user engagement with the standards committees.
All current Fortran SG members are welcome to attend the AGM.
The afternoon
presentations are open to all, including non-BCS members.
Attendance is free of charge but please book your place via the
Eventbrite site
to ensure your admission to the Davidson building and your lunch if you want one.
Last modified: Mon 12 Aug 2019 18:45:27