Program
(updated 5 January 2005)
The program will consist of
talks by experienced computational scientists and
extensive hands-on experience on the APAC supercomputers.
The topics are grouped into the following six streams;
click on the titles for more details.
| |
Special events
|
| |
Super computing
|
| |
Applications of HPC
|
|
| |
HPC using Problem Solving Environments
|
| |
Finite Volume Methods
|
| |
Numerical linear algebra
|
|
The main venue is the CSIT building (#108) on North Road.
Lectures will be in Rm N101 and lab sessions in Rms N112 and N113.
There will be a welcome reception from 5pm on Monday 10 in the foyer of the
Manning Clark
Centre (#26). This will be joint with the
ICE-EM/AMSI Summer School.
There will also be an APAC
barbecue on the evening of Tuesday 11, and
(tentatively) a final social event on the evening of Wednesday 19. Further details will
be available on arrival at the Summer School.
Anyone who is not officially registered in the Summer School will be
welcome to attend the lectures in Rm N101 - please contact
apacss05@maths.anu.edu.au
if you plan to attend any of these.
All other events, including the tour of the APAC facility, are for participants only.
The schedule is below. For a printable version,
click here.
| Title: | Introduction to MPI Programming |
| Presenters: | Margaret Kahn, David Singleton,
Stuart Midgley and Ben Evans |
| Content: |
- Introduction and overview of message passing and MPI
- MPI program structure
- Messages
- Point-to-point communication
- Non-blocking communication
- Collective communication
- Miscellaneous (derived datatypes, MPI IO, topologies, MPI2, ...)
- Debugging and Profiling
|
| Prerequisites: | Familiarity with Unix, a Unix editor such as vi or
emacs
and either Fortran or C. Programming exercises will involve
writing either Fortran or C. |
| Aims: | - To provide a reasonably comprehensive overview of message
passing
and MPI concepts, terms and functionality.
- To give attendees confidence that they can write working MPI
parallel programs.
|
| Overview: | The course involves a mixture of short lectures followed
by hands-on
exercises that illustrate that lecture material. |
| Resources: |
http://nf.apac.edu.au/training/MPIProg/ |
| Return |
| Title: | MPI Applications, Optimisation and Tools |
| Presenters: | David Singleton, Stuart Midgley,
Margaret Kahn and Ben Evans |
| Content: | - Introduction
- Basic performance concepts
- MPI performance issues
- Tools
- Parallel Decomposition
- Example Applications
|
| Prerequisites: | Familiarity with Unix, a Unix editor such as vi or
emacs
and either Fortran or C. Programming exercises will involve
writing either Fortran or C. Some knowledge of basic
numerical methods will help. |
| Aims: | - To make attendees aware of the main issues in developing
scalable
distributed parallel applications.
- To allow attendees to become familiar with parallel profiling
tools and understand what those tools show about parallel
program efficiency
- To provide an introduction to parallel decomposition techniques for
common scientific computng problems.
|
| Overview: | The course involves a mixture of short lectures followed
by hands-on
exercises that illustrate that lecture material. |
| Resources: |
http://nf.apac.edu.au/training/MPIAppOpt/ |
| Return |
| Title: | Optimizing Serial Programs |
| Presenters: | David Singleton, Alistair Rendell
and
Stuart Midgley |
| Content: | - Basic hardware overview
- Arithmetic units and instructions
- Cache and memory
- Program execution
- Profiling
- Example: strided memory and indirect addressing
- Example: matrix multiply, loop orders and cache blocking
- Example: finite difference, cache reuse
|
| Prerequisites: | Familiarity with Unix, a Unix editor such as vi or
emacs
and either Fortran or C. Programming exercises will involve
writing either Fortran or C. |
| Aims: | - To provide an introduction to the main issues in
sequential program
performance
- To provide an introduction to basic hardware concepts and their
relevance to sequential program performance
- To use, and understand the output of, program profilers.
|
| Overview: | The course involves a mixture of short lectures followed
by hands-on
exercises that illustrate that lecture material. |
| Resources: | |
| Return |
| Title: | Parallel Load Balancing
with Python |
| Presenter: | Ole Nielsen |
| Content: |
Computations of the Mandelbrot set using a combination of Python
and C. Experiments with different load balancing strategies. |
| Prerequisites: | MPI, Python, C, complex numbers |
| Aims: |
Through hands-on exercises to give students a real feel for common
load balancing strategies and their relative merits. |
| Overview: |
Using the Mandelbrot fractal as an example, we will develop an
efficient sequential application using the Python programming
language with computationally critical parts written in C.
Armed with a well performing sequential algorithm we will then
experiment with different strategies for distributing the work
evenly across multiple processors. This is known as 'load
balancing' and, as we shall see, the parallel performance depends
heavily on the load balancing strategy.
Finally, we will touch on the other two main requirements for good
parallel performance, namely the ratio between computation and
communication as well as the amount of inherently sequential work
(Amdahl's law). |
| Resources: |
http://datamining.anu.edu.au/~ole/teaching/summerschool2005 |
| Return |
| Title: | StGermain & Snark - frameworks for enabling HPC computational modelling |
| Presenter: | Patrick Sunter |
| Content: |
A 3-4 hour hands on workshop presenting VPAC's HPC computational modelling frameworks StGermain and Snark, including worked examples of applied code. This workshop should be of interest to those who either use or develop modelling software on HPC platforms.
|
| Prerequisites: | Reasonable programming
fluency in C, basic understanding of numerical methods such as FEM and FD. Optionally, some knowledge of Python.
|
| Aims: |
The aim of the workshop will be for students to become familiar with what StGermain and Snark provide, and how they may help overcome issues with writing codes on HPC platforms. They should also leave with an outline of some of the main linear algebra and meshing tools available to them, and the pros and cons of each.
|
| Overview: |
The workshop would begin with an outline of StGermain's philosophy: where we sit in terms of helping bring together HPC tools and algorithms to help with the hard work of actually building a HPC modelling application that performs well, but is also easy to use and can grow to handle changing research interests elegantly.
The following sections will involve hands-on code examples, in conjunction with presented material on a projector:
Refactoring existing programs for greater ease-of-use & extensibility:
- Parallel I/O and journalling: making it easier to get information in & out of your program
- Allowing run-time extensibility through plugins and extensible data structures: cutting down the continual recompile cycle
- Real-time visualisation: using Monash's gLucifer package to do the grunt work of visualising your models.
Developing new applications, or when major re-engineering required:
- Handling parallel domain decomposition of meshes and particles: what we provide, including interfaces to other meshing packages.
- The Snark FEM/PIC toolkit: rapidly building a custom numerical method by composing modules from the framework.
Overviews of related projects/software:
- Superstructure frameworks: Pyre
- Solver toolkits: PETSc (and NAG)
- eScript interface
- Meshing libraries, such as Triangle, Qhull, LaGrit etc.
For the last part of the workshop (1/2 hour to an hour), we could discuss the projects the students are working on and how StGermain might be applicable/useful to them.
|
| Resources: |
http://csd.vpac.org, the VPAC CSD portal, has links for you to download and read more about all our software developments |
| Return |
| Title: | Solving PDEs with Python |
| Presenter: | Lutz Gross |
| Content: |
- introduction to PDE solving in escript
- data visualization in escript
- solution of non-linear, time-dependent and coupled PDEs
|
| Prerequisites: |
Python, some basic knowledge on ODEs and PDEs |
| Aims: | Students are able to solve PDEs using Python/escript
|
| Overview: |
escript is a python-based language to reduce
general, non-linear, time-dependent, coupled
PDEs in a sequence of solutions of linear PDEs, which the can be solved by using standard finite element or finite differences schemes. We will show how escript is used to solve a time-dependent temperature diffusion problem and then how to couple this problem with a linear-elastic deformation problem. We will also discussing the implementation of explicit time integration schemes to solve wave propagation equations. We will also show the results can be visualize.
|
| Resources: |
http://www.esscc.uq.edu.au/Research/EscriptFinley/index.html |
| Return |
| Title: | Iterative solutions of large matrix systems |
| Presenter: | Linda Stals |
| Content: |
Conjugate gradient methods, multigrid and domain decomposition |
| Prerequisites: |
The prerequisites are a good understanding of introductory linear
algebra (eg. what is the range and null space of a matrix). We
shall, for example, assume that the students have covered material
similar to the first 4-5 chapters of Lay; Linear Algebra and Its
Applications. A basic knowledge of matrix and vector norms is also
a prerequisite. |
| Aims: |
The aim is to introduce some of the more modern techniques for
solving large sparse system of equations, particularly those
arising from the solution of the partial differential equations. |
| Overview: |
The finite element and finite volume methods covered in this
course produce a large sparse systems of equations. The techniques
that we are most familiar with can not be applied to these large
systems. For example, suppose it takes 1 second to solve a 100 ×
100 sized matrix by using Gaussian Elimination, then a
quick analysis based on the number of operations implies that it
would take about 11.5 days to solve a 10000 × 10000 sized
matrix. It is not unrealistic to want to solve problems with
millions of unknowns.
In this course we will introduce new solution techniques to deal
with these large scale problems. We shall define and develop the
theoretical properties of the algorithms and then explore their
practical use. |
| Resources: |
- Numerical Linear Algebra by Lloyd N. Trefethen and David Bau III
(SIAM, 1997).
- Applied Numerical Linear Algebra by James W. Demmel (SIAM, 1997).
- A multigrid Tutorial by William L Briggs, Van Emden Henson and Steve
F. McCormick (SIAM 2000)
- An Introduction to the Conjugate Gradient Method Without the
Agonizing Pain by Jonathan Richard Shewchuk
(http://www.cs.cmu.edu/~quake-papers/painless-conjugate-gradient.ps)
|
| Return |
| Title: | Linear Least Squares and Linear Algebra |
| Presenter: | Linda Stals |
| Content: | Normal equations, condition number, QR factorisation, Householder
methods, implementation issues (row v's column storage) |
| Prerequisites: | The prerequisites are a good understanding of introductory
linear algebra (eg. what is the range and null space of a matrix). We
shall, for example, assume that the students have covered material similar
to the first 4-5 chapters of Lay; Linear Algebra and Its Applications. A
basic knowledge of matrix and vector norms is also a prerequisite. |
| Aims: | The aim is two fold; to introduce the standard techniques for the
solution of linear least squares problems as well as introduce some of the
important concepts in numerical linear algebra, such condition number,
stability and, backward and forward error analysis. |
| Overview: | Least squares fitting has a diverse number of applications
including; economics, data mining, statistical analysis, image processing,
adaptive optics, signal processing and surveying. We shall introduce some
of the standard techniques for solving these problems by covering the
theoretical basis in a lecture style setting and then exploring more
practical issues in computer laboratories. One of the important aspects we
want to focus on is when do these techniques fail and why. |
| Resources: |
- Numerical Linear Algebra by Lloyd N. Trefethen and David Bau III (SIAM,
1997).
- Applied Numerical Linear Algebra by James W. Demmel (SIAM, 1997).
|
| Return |
| Title: | An Introduction to Finite Volume Methods |
| Presenter: | Ian Turner |
| Content: |
- Introduction to conservation equations
- Analytical solutions for the benchmark problems
- Introduction to the Finite Volume method
- Implementing boundary condition information into the model
- Treatment of nonlinearity using an inexact Newton method
- The treatment of advection within the framework of the FVM
|
| Prerequisites: | Linear Algebra, Introduction to
Differential/Partial Differential Equations, Introduction to
Scientific Computation and Matlab. |
| Aims: | Obtain an understanding of state of the art methods
for modelling diffusion and advection using finite volume methods.
Produce prototype FVM code which can solve model diffusion and advection problems. |
| Overview: | Module 1: Introduction and the Generalised Transport Equation A
brief discussion of the conservation equations that describe fluid
motion. The notion of a generalised transport equation. Discussion
of boundary and initial conditions. Derivation of analytical
solutions for the benchmark problems considered in throughout the
lectures.
Module 2: Introduction to Finite Volume Methods (FVM) Basic
concepts and rules of the finite volume method. Application to the
Generalised one-dimensional Diffusion Equation. Cell-centred and
vertex-centred schemes. Treatment of diffusion coefficients at
control volume faces and source/sink terms. Incorporating boundary
condition information into the model. Inexact-Newton methods for
solving no n-linear transport equations.
Module 3: FVM for Advection-Diffusion Equations The treatment of
advection and the inclusion of these schemes within the framework
of the FVM. Monotonicity arguments, TVD schemes, upstream
averaging, other averaging methods. A brief discussion of flux
limiting.
Module 4: Specialised Topics FVM for radially symmetric problems.
Brief introduction to FVM in higher dimensions and implementation
details for arbitrary grids.
|
| Resources: | |
| Return |
| Title: | Ocean Modelling in Parallel |
| Presenter: | Jason Roberts |
| Prerequisites: | Knowledge of MPI | |
| Aims: | Raise awareness about potential performance impacts of parallelising serial code. |
| Overview: | Broad overview of ocean modelling, issues specific to parallel operation. |
| Resources: | Copy of presentation (15MB!) pdf file |
| Return |
| Title: | Parallelizing PDE based large sequential
numerical simulation code with PETSc |
| Presenter: | Zhongze Li |
| Abstract: | Many numerical simulations are related to partial differential
equations (PDEs). The discretization of partial differential equations
(PDEs) leads to large sparse linear systems. The solution of large
sparse linear systems is the most time-consuming part of the
computation. Therefore, it is central to many numerical simulations in
science and engineering. Traditionally, direct methods are used to
solve sparse linear systems with moderate size. However, iterative
methods are only option available for solving very large sparse linear
systems because of memory limits of parallel computers and
unacceptable operation counts of direct methods. PETSc is a portable
library for solving large sparse linear systems in
parallel using iterative methods. In this talk, I will introduce how
to parallelize a large sequential numerical simulation code with
PETSc in detail. |
| Resources: | Copy of presentation pdf file |
| Return |
|