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
And must exchange
Therefore,
"N
" N z points to compute
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
communication/computation ratio
This is a surface-to-volu
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
Etc
Here try and form an understanding and some estim
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 according
to rules:
If 3 neighbours are alive, cell will be al
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 displays concurrency,
scalability and locality (will do
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
Memory stores both
program and data
Instructions are
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 rotation can
change the properties of eddies in convective r
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.org/wiki/Image:Magnetosphere_rendition.jpg
3
Contribution
Performance Analysis and Debugging Tools
Performance analysis and debugging intimately connected since they both involve monitoring
of the software execution. Just different goals:
Debugging - achieve correct code behaviour
Performance analysis - 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 the size of the comm world.
Simple send-receive: A prog
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
(basic aritmetic, reads/writes memory, gets address of