The future of HPC programming - a Modern Fortran workshop, Umeå, 2022-11-(24-25)

From SNIC Documentation
Revision as of 12:59, 2 November 2022 by Birgitte Brydsoe (HPC2N) (talk | contribs) (Created page with "{{training event info |description=The future of HPC programming - a Modern Fortran workshop |fields=applications, fortran, programming, hpc |event type=Workshop |location=Ume...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Name The future of HPC programming - a Modern Fortran workshop, Umeå, 2022-11-(24-25)
Description The future of HPC programming - a Modern Fortran workshop
Type of event Workshop
Location Umeå University, Online
Start date 2022-11-24
End date 2022-11-25

Course overview

The workshop will be hybrid (on-site at Umeå University and also streamed over Zoom).

Fortran is the primordial HPC language. Its handling of multidimensional arrays have ensured that compilers can produce highly efficient code, and inclusion of coarrays in the 2008 standard made it the first major programming language with builtin support for parallelism. The 2008 inclusion of object-oriented modernised the language, bringing it on par with many of its contenders. In 2019 the Fortran standards committee started work on generics (templates). Templates are planned for the 202y release of Fortran, the one after the upcoming 2023 release.

Unlike C++ templates, Fortran templates are type-safe (strong concepts) and does not support meta-programming. This enables some very powerful programming techniques not matched by other high performance languages.

In this workshop we will give a hands-on preview of such techniques. This includes defining your own Fortran integrated domain specific programming languages (IDSLs) while benefitting from Fortran's efficient code generation. We also look at the dichotomy between well-structured code and efficient code, and show some systematic transformations between these. Lastly, we suggest just-in-time compilation and interpreters for user defined Fortran IDSLs, achieving much of the same flexibility as the current integration of Fortran and Python.

It is a cooperation between HPC2N and LUNARC.

Pre-requisites

Participants should have at least basic programming experience

Course web page and registration

For more information and registration refer to the [ https://www.hpc2n.umu.se/events/courses/2022/modern-fortran course webpage].