MPI Applications Course Overview
MPI Applications Course Overview
Message Passing Application References
Introduction
Object of the Exercise
Pre-Parallel
Measuring performance: CPU Usage?
Exercise 0: cputime
Dedicated CPUs and Walltime
Measuring Performance
Amdahl's Law
Amdahl's Law: Theory
Sequential Components
Exercise: Amdahl's law
Amdahl's Law: Practice
Parallel Overhead
Problem Size
Dedicated or Shared machine
Yeah, but how many cpus?!
Exercise: Choosing ncpus
Scalability
IO - the good, the bad and the ugly ...
Exercise: IO
Parallel IO
Disk IO Time Scales and Locality
MPI Issues
Granularity
Granularity
Scalable Parallel Computing
Load imbalance
Message Passing - Time Scales and Locality
Message Passing Performance
Communication
Scaling of communication
Types of communication
Types of communication
Synchronous
Asynchronous
Blocking
Non-blocking
Non-blocking 2
Exercise: MPI point-to-point types
SGI MPI and compiler flags
Tools
Totalview
Totalview demo 1
Totalview demo 2
Totalview demo 3
Profiling
Vampir
Vampir screenshot
Vampir Exercise 1
Vampir Exercise 2
Applications
Master-slave
Distribution of work
Exercise: Master slave
Data distribution
Distribution of data and work
Distribution of data and work
Distribution of data
Dense Linear Algebra
Reduction Step
Block decomposition
Exercise 2
Cyclic Distribution
Top500
Grid methods
Grid methods II
Grid methods III
Grid methods IV
Multidimensional decompositions
Grid method issues
Exercise: Grid methods
Fourier transforms
Transposes
Exercise: Fourier transforms
Unstructured Problems
Mesh Partitioning Methods
Partitioned Unstructured Mesh
Dynamic Unstructured Problems - Particle Methods
Particle Methods - Parallel issues
Ring code
Smart algorithm
PIC - Particle In Cell
Cells
Lennard-Jones Potential
Exercise: Molecular Dynamics
Summary
|