Description:
Heterogeneous architectures with nodes featuring accelerator cards or sockets are taking an
important share in the HPC market,
given their superiority in term of flop/watt with respect to CISC and RISC architecture.
To be effective on heterogeneous architecture applications usually requires important refactoring
and adaptation, and many programming paradigms are available, some vendor specific and some other defined
by an open standard,
but without a clear winner yet (e.g. as it is the case for message passing communications
where there is MPI, available for all network technologies).
This school focus on software development techniques to address the implementation of new HPC applications and
the re-factory of existing ones, in the era of heterogeneous, energy efficient, massively parallel architectures,
toward exascale, with theoretical lectures and hands-on sessions on the different most promising
programming techniques and paradigms for accelerated computing.
Software engineering techniques and high productivity languages will complement lectures on parallel
programming and porting toward new architectures, to allow the implementation of application
that can be maintained across a complex and fast evolving HPC architectures.
Topics:
- Heterogeneous architectures
- Elements of software engineering
- Parallel programming techniques for accelerated computing, including CUDA, OpenMP, OpenACC, SYCL
- Parallel programming techniques for massively parallel applications
- Models for applications integrating MPI, OpenMP OpenACC, CUDA and CUDA Fortran paradigms
Target audience:
The school is aimed at PRACE users, final year master students, PhD students, and young researchers in computational sciences and engineering, with different backgrounds, interested in applying the emerging technologies on high performance computing to their research.
Pre-requisites:
Good knowledge of parallel programming with MPI and/or OpenMP, knowledge of FORTRAN and C languages. Basic knowledge of parallel computer architectures.
Admitted students:
Attendance is free.
A grant of 300 EUR (for students working abroad) and 150 EUR (for students working in Italy) will be available for participants not funded by their institution and not working or living in the Bologna area. Documentation will be required. Lunch will be provided by Cineca. Each student will be given a two month access to the Cineca's supercomputing resources.
The number of participants is limited to 25 students.
Applicants will be selected according to their experience, qualifications and scientific interest BASED ON WHAT WRITTEN IN THE REGISTRATION FORM.
Acknowledgement:
The support of CINI for the software engineering module is gratefully acknowledged.
