Day |
Topic |
Duration |
Monday |
Morning |
|
|
Introduction. Computer architectures and programming paradigms. Message passing. Simple MPI |
9:00-12:00 |
|
Afternoon |
|
|
Simple MPI (cont) |
13:00-14:00 |
|
Computer lab: Execute ready examples and write your own simple MPI programs |
14:00-16:00 |
Tuesday |
Morning |
|
|
Communications in MPI. Point-to-point and collective communications. Data distribution. MPI functions. Parallel debugging tools |
9:00-12:00 |
|
Afternoon |
|
|
Computer lab: Execute ready examples and write simple MPI programs which illustrate the different types of communications in MPI and possible difficulties. Deadlocks |
13:00-15:00 |
|
Load balancing issues, (re)design of algorithms, examples. Trying the TotalView parallel debugger |
15:00-17:00 |
Wednesday |
Morning |
|
|
Advanced MPI. User-defined data types, datatype constructors. MPI functions. Programming with MPI. Linear algebra problems, operations with vectors and matrices. Data distribution continued - dense and sparse matrices |
9:00-12:00 |
|
Afternoon |
|
|
Computer lab: Testing with some Linear Algebra operations such as matrix-vector and matrix-matrix multiplications, matrix transpose, iterative solution methods, domain decomposition |
13:00-17:00 |
Thursday |
Morning |
|
|
Advanced MPI. Communicators, virtual topologies. Parallel LU. Parallel sort algorithms |
9:00-12:00 |
|
Afternoon |
|
|
Presentation of the assignments. |
13:00-14:00 |
|
Computer lab. |
14:00-16:00 |
Friday |
Morning |
|
|
Predicting and measuring parallel performance, scalability issues. Some MPI-2 features. MPI vs or together with OpenMP? Combining MPI and OpenMP. Summary and tendencies. |
9:00-12:00 |
|
Afternoon |
|
|
Computer lab: Exercises and preparation for the project work |
13:00-16:00 |