=====Journal of Lessons, SPD year 2022-2023==== ====Journal==== * 23/02/2023 **Course introduction** -- Parallel programming frameworks and high-level approach to parallel programming over different platforms: MPI, TBB and OpenCL as main examples; course organization and prerequisites; reference books and studying material. \\ -- ** MPI (Message Passing Interface) standard ** -- brief history and aim of the standard, single program / multiple data execution model, compilation and linkage model; issues in supporting multiple programming languages and uses (application, utility library and programming language support) with a static compilation and linkage approach. Portability in parallel programming: functional and non-functional aspects, performance tuning and performance debugging. * 24/02/2023 ** MPI (Message Passing Interface) standard ** -- brief history and aim of the standard, single program / multiple data execution model, compilation and linkage model; issues in supporting multiple programming languages and uses (application, utility library and programming language support) with a static compilation and linkage approach. Portability in parallel programming: functional and non-functional aspects, performance tuning and performance debugging. MPI as a parallel framework that supports a structured approach to parallel programming. Basic concepts of MPI: communicators (definition, purpose, difference between inter and intra-communicators, process ranks). Point to point communication (concepts of envelope, local/global completion, blocking/non-blocking primitive, send modes); collective communications (definition, communication scope, global serialization, freedom of implementation in the standard); MPI datatypes (basic meaning and use, primitive / derived datatypes). * 2/03/2023 * 3/03/2023 ====Slides, Notes and References to papers==== ^ Date ^ Slides ^ Notes ^ References / Info | | 23/02 | | | | | 24/02 | | | | | 02/03 | | | | | 03/03 | | | | |