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.
About the tutor
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".
|Thursday April 21, 2016|
The evolution of the Fortran language, from Fortran 77 to coarrays in Fortran 2015; modules and their use
Object-oriented design basics: Class and action diagrams
|15:00-16:30||Fortran object-oriented features|
|17:00-18:00||Hands-on exercise: "Hello multiverse": basic coarray usage|
|Friday April 22, 2016|
|09:00-10:30||Design patterns and their usage|
|11:00-12:45||Case study: Sparse matrix computations on hybrid CPU/GPU|
Please bring your own laptop for the hands-on sessions.
Obligatory registration - registration form here; deadline see above or exhausted course capacity.
The event is provided free of charge for the participants.
- See links below how to get to the campus of VŠB - Technical University Ostrava and to the IT4Innovations building.
- Documentation for IT4Innovations' computer systems is available at http://support.it4i.cz/docs.
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“.