High Performance Computing (HPC) is widely used in many areas of science, engineering and industry to tackle problems that are very compute or data-intensive. HPC techniques are essential for any scientist who must solve computational problems and for any software developer who wants to take full advantage of modern multicore processors and parallel architectures. The same HPC techniques can be used to program powerful supercomputers with hundreds of thousands of processors or to exploit the full potential of a multi-core laptop.
The Online Summer School on Parallel Computing is an intense, five days, graduate level course in HPC, with the objective of providing the participants the fundamentals to program and exploit modern parallel computing systems to solve computational problems. It will comprise full theoretical and practical lessons on Marconi 100 Cineca cluster.
The school covers key topics focusing on HPC lexicon, parallel architectures, parallel programming models and methods.
Introduction to Marconi 100 (Teachers: E.Rossi, I.Baccarelli, A,Marani, A. Emerson) (June 29thHow to request a budget, the online documentation, the support, the access mode and available storage spaces
- The main hardware characteristics
- Programming environment: the main compilers and libraries available under base and advanced profiles to install your own code and the main compiler options specific for an accelerated system
- Production environment: the main applications available on M100 under domain profiles and the execution phase with the request of cpu/gpu resources, loading of modules, scheduling of jobs, consumption of budget
- Inter and intra node performances
- Molecular Dynamics on the M100
- Compilation, linking and execution of MPI programs
- MPI Point2Point
- Threads, parallel regions and worksharing
Introduction to GPU architectures
- Introduction to GPU architecture and General Purpose GPU Computing
- Introduction to OpenACC
- Introduction to CUDA C/Fortran
- CUDA concurrency and multi-GPU
By the end of the course the student is expected to be able to:
- Have an understanding of HPC architectures in general and in particular, the HPC systems at CINECA.
- Be familiar with code optimization and parallelization algorithms.
- Use and apply the message passing paradigm based on the standards, MPI & MPI2
- Use and apply the shared memory paradigm, OpenMP
- Write programs with Hybrid programming MPI+OpenMP
- Understand the concepts for using GPUs OpenACC and CUDA.
The school is aimed at 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 activity.
Some programming experience with a high level programming language (C/C++ or FORTRAN) is required and a basic knowledge of Linux is necessary.
The number of participants for each edition 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.
Attendance is free.
Each student will be given four weeks access to CINECA's supercomputing resources.