Calendar

LEC # TOPICS
1

Parallel computing and openMP

Fundamentals of shared memory programming

Basic openMP concepts, PARALLEL directive

Data scoping rules

Basic openMP constructs/directives/calls

Examples

Parallelizing an existing code using openMP

More advanced openMP directives & functions

OpenMP performance issues

2

Parallel computing and MPI Pt2Pt

OpenMP 3.0 enhancements

Fundamentals of distributed memory programming

MPI concepts

Blocking point to point communications

3

More Pt2Pt & collective communications

Paired and nonblocking point to point communications

Other point to point routines

Collective communications: One-with-All

Collective communications: All-with-All

4

Advanced MPI-1

Collective communications: All-with-All

Derived datatypes

Groups, contexts and communicators

Topologies

Language binding issues

The runtime and environment management

The MPI profiling interface and tracing

5

More MPI-1 & parallel programming

Hybrid MPI+OpenMP programming

MPI performance tuning & portable performance

Performance concepts and scalability

Different modes of parallelism

Parallelizing an existing code using MPI

Using 3rd party libraries or writing your own library