3.4 Scalability analysis (cont)
e.g. Scaled problem size analysis: isoefficiency of 2D decomposition finite-difference
For 2D decomposition of finite-difference mesh N x N x Nz,
each processor has N
2.4.1 Increasing granularity (cont)
PCAM
Examples of agglomerating tasks:
2.4.1 Increasing granularity (cont)
PCAM
Really want to reduce the amount of communication PER computation i.e. reduce the
co
Chapter 3: A Quantative Basis for Design
Real design tries to reach an optimal compromise between a number of thing
Execution time
Memory requirements
Implementation costs
Simplicity
Portability
MPI: Project - Game of Life
Game of Life simulation by John Conway
2D array of cells.
Each cell can have one of two possible states: alive or
dead
Initialise with random states and then evolve accordi
Chapter 2: Designing Parallel Algorithms
Got ourselves some
parallel machine abstraction
parallel programming abstractions
Now need to translate a specification of a problem into an algorithm that
Parallel Machine Models: von Neumann
von Neumann computer
(named after Hungarian
mathematician John von
Neumann)
stored program concept:
CPU executes sequence of
instructions = read/write to
memory
A parallel code to solve for the
quasi-steady dynamics of stellar
interiors
Pascale Garaud, AMS.
11 March 2008
All stars rotate to some degree. Centrifugal forces and
Coriolis forces induced by rotati
Case Study:
Numerical Simulations of the Process by which
Planets generate their Magnetic Fields
Stephan Stellmach
UCSC
1
The Scientific Problem
2
The Magnetic Field of the Earth
http:/en.wikipedia.or
Performance Analysis and Debugging Tools
Performance analysis and debugging intimately connected since they both involve monitoring
of the software execution. Just different goals:
Debugging - achie
MPI: Homework
Write the following MPI programs:
Hello World: A program that starts MPI running on a number of processors, and then writes out
Hello from each processor, stating the processor rank and
Parallel programming models
Von Neumann machine model:
A processor and its memory
program = list of stored instructions
Processor loads program (reads from memory), decodes, executes instructions