Parallel programming in modern Fortran (IT4I training)

Europe/Prague
207 (VŠB - Technical University Ostrava, IT4Innovations building)

207

VŠB - Technical University Ostrava, IT4Innovations building

Studentská 6231/1B 708 33 Ostrava–Poruba Czech Republic
Description

Annotation

Fortran remains widely used in high-performance computing (HPC), but most users describe their programming skills as self-taught and most use older language versions. The increasing compiler support for modern Fortran makes the time ripe to teach new language features that target HPC. We will teach single-program, multiple-data (SPMD) programming with Fortran 2008 coarrays. We also introduce Fortran's loop concurrency and pure procedure features and demonstrate their use in asynchronous expression evaluation for partial differential equation (PDE) solvers. We incorporate other language features, including object-oriented (OO) programming, when they support parallel  programming pedagogy. In particular, we demonstrate OO design patterns for hybrid CPU/GPU calculations in the Parallel Sparse Basic Linear Algebra Subroutines (PSBLAS) library.

Level

Basic/Intermediate

Language

English

About the tutor(s)

Salvatore Filippone is  a specialist in numerical linear algebra and high performance computing and serves as a Lecturer in the Fluid Mechanics and Computational Science Center at Cranfield University. He is Associate Editor for the ACM Transactions on Mathematical Software and works on the panel for Numerical Analysis of the EESI (European Exascale Software Initiative) project. He is also an evaluator and reviewer of scientific projects in high performance computing for the European Commission and for the U.S. National Science Foundation. He previously worked for IBM Co. where he was one of the lead developers of the ESSL and PESSL scientific software library products. He has taught tutorials and short courses on high performance computing at many conferences and institutions in Europe and the U.S. He holds an M.Sc. degree in electronics and computer engineering, and a Ph.D. in mathematics, both from the University of Rome "Tor Vergata".

Acknowledgements

The course is supported by The Ministry of Education, Youth and Sports from the programme Large Infrastructures for Research, Experimental Development and Innovations as part of the project „IT4Innovations National Supercomputing Center – LM2015070“.

  • Thursday, 21 April
    • 09:30 10:00
      Registration 207

      207

      VŠB - Technical University Ostrava, IT4Innovations building

      Studentská 6231/1B 708 33 Ostrava–Poruba Czech Republic
    • 10:00 11:30
      The evolution of the Fortran language, from Fortran 77 to coarrays in Fortran 2015; modules and their use 207

      207

      VŠB - Technical University Ostrava, IT4Innovations building

      Studentská 6231/1B 708 33 Ostrava–Poruba Czech Republic
    • 11:30 13:00
      Lunch break 1h 30m
    • 13:00 14:30
      Object-oriented design basics: Class and action diagrams 207

      207

      VŠB - Technical University Ostrava, IT4Innovations building

      Studentská 6231/1B 708 33 Ostrava–Poruba Czech Republic
    • 14:30 15:00
      Coffee break 30m 207

      207

      VŠB - Technical University Ostrava, IT4Innovations building

      Studentská 6231/1B 708 33 Ostrava–Poruba Czech Republic
    • 15:00 16:30
      Fortran object-oriented features 207

      207

      VŠB - Technical University Ostrava, IT4Innovations building

      Studentská 6231/1B 708 33 Ostrava–Poruba Czech Republic
    • 16:30 17:00
      Coffee break 30m 207

      207

      VŠB - Technical University Ostrava, IT4Innovations building

      Studentská 6231/1B 708 33 Ostrava–Poruba Czech Republic
    • 17:00 18:00
      Hands-on exercise: "Hello multiverse": basic coarray usage 207

      207

      VŠB - Technical University Ostrava, IT4Innovations building

      Studentská 6231/1B 708 33 Ostrava–Poruba Czech Republic
      • 17:00
        Coffee break 30m
    • 09:00 10:30
      Design patterns and their usage 207

      207

      VŠB - Technical University Ostrava, IT4Innovations building

      Studentská 6231/1B 708 33 Ostrava–Poruba Czech Republic
    • 10:30 11:00
      Coffee break 30m 207

      207

      VŠB - Technical University Ostrava, IT4Innovations building

      Studentská 6231/1B 708 33 Ostrava–Poruba Czech Republic
    • 11:00 12:45
      Case study: Sparse matrix computations on hybrid CPU/GPU 207

      207

      VŠB - Technical University Ostrava, IT4Innovations building

      Studentská 6231/1B 708 33 Ostrava–Poruba Czech Republic
    • 12:45 14:00
      Lunch break 1h 15m
    • 14:00 15:30
      Hands-on exercise 207

      207

      VŠB - Technical University Ostrava, IT4Innovations building

      Studentská 6231/1B 708 33 Ostrava–Poruba Czech Republic