Next: Summary of Progress
Up: Introduction
Previous: Introduction
Contents
At the heart of a Castep calculation is the iterative solution of a
large eigenvalue problem to find the lowest 1% or so of the
eigenstates, called `bands', and this calculation is currently
parallelised over the components of the bands. The aim of this project
was to implement an additional level of parallelism by distributing
the bands themselves. The project was to be comprised of four phases:
- Basic Band Parallelism
Split the storage and workload of the
dominant parts of a Castep calculation over the `bands', in addition
to the current parallelisation scheme.
- Distributed Matrix Inversion and Diagonalisation
At various
points of a Castep calculation large matrices need to be inverted or
diagonalised, and this is currently done in serial. In this phase we
will distribute this workload over as many processors as
possible.
- Band-Independent Optimiser
The current optimisation of the
bands requires frequent, expensive orthonormalisation steps that will
even more expensive with the new bands-parallelism. Implementing a
different, known optimisation algorithm that does not require such
frequent orthonormalisation should improve speed and scaling.
- Parallelisation and Optimisation of New Band Optimiser
To work
on making the new optimiser as fast and robust as possible, and
parallelise the new band optimisation algorithm.
The overall aim was to enable Castep to scale efficiently to at least
eight times more nodes on HECToR. Unfortunately only the first three
phases of the project were funded, but the aim remained to achieve as
great an increase in scaling as possible. An additional phase was
introduced at the request of NAG, to investigate Castep performance on
HECToR in general to determine the best compiler, compiler flags and
libraries to use.
Next: Summary of Progress
Up: Introduction
Previous: Introduction
Contents
Sarfraz A Nadeem
2008-09-01