Introduction to Parallel Programming is given in this course either for Shared Memory and Message Passing paradigms. The basic functionalities of two of the widest used parallel programming tools are presented: the MPI (Message Passing Interface) library for distributed architectures and OpenMP system for shared memory and multicore architectures.MPI is a message-passing library specification which provides a powerful and portable way for expressing parallel programs.OpenMP is a portable and scalable model that gives shared-memory parallel programmers a simple and flexible interface for developing parallel applications for platforms ranging from desktop to supercomputers.Implementations of both MPI and OpenMP are available for all modern computer architectures and programs can be written in C/C++ or FORTRAN.Large part of the course will be devoted to practical sessions where students will use the concepts discussed in the presentations to parallelise the proposed programs.
Topics:
Overview of message passing paradigm. MPI: point-to-point and collective communications, non-blocking communications, communicators and virtual topologies. Shared Memory parallel programming. OpenMP: Fork & Join model, Compiler directives, Parallel regions, Data scope, Worksharing, master and synchronization constructs, Environment variables and Runtime library routines.
Target audience:
Students and researchers interested in developing or optimizing parallel programs, either in shared or distributed memory computing environments.
Pre-requisites:
Good knowledge and experience of C or FORTRAN. Good experience with UNIX operating systems.
Grant
The lunch for the three days will be offered to all the participants and some grants are available. The only requirement to be eligible is to be not funded by your institution to attend the course and to work or live in an institute outside the Bologna area. The grant will be 300 euros for students working and living outside Italy and 150 euros for students working and living in Italy (except Milano area). Some documentation will be required and the grant will be paid only after a certified presence of minimum 80% of the lectures.
Further information about how to request the grant, will be provided at the confirmation of the course: about 3 weeks before the starting date.