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

Course Info

Learning Resource Types

notes Lecture Notes
assignment Problem Sets