The aim of this distributed Computational Science and Engineering (dCSE) project
is to add a task-farm parallel framework to ChemShell in order to parallelise
tasks that are commonly employed in materials cluster simulations. The dCSE proposal
was written by C. Richard A. Catlow, Alexey Sokol and Fedor Goumans (University College
London) and Paul Sherwood, Huub van Dam and Johannes Kästner (STFC Daresbury Laboratory).
The project work was carried out by Thomas Keal (STFC Daresbury Laboratory).
The dCSE project
9 months of development effort were deployed over an 18 month period from
January 2009 to June 2010. The code development objectives for the project were:
- ChemShell (and associated Tcl libraries) adapted to support task farmed parallelism
using split communicators. Commands can be executed on specific workgroups by using conditional
tests within the Tcl interpreter.
- Finite difference Hessian code within ChemShell re-written to allow task-farmed execution.
Speed-up factor of 2 on a test calculation (as approved by PI) when comparing
existing implementation (a single parallel task running across a large HECToR partition
of over 1000 processors) with the task farmed version.
- Interface with the parallel implementation of DL-FIND such that the separate
tasks within ChemShell are given independent work to perform.
Demonstration of parallel NEB for transition-state determination in a surface
chemistry problem, speed-up (existing relative to running the points sequentially on a
large parallel platform) of 2.
- DL-FIND parallel optimisation capabilities interfaced to task farmed version of ChemShell.
Demonstration of global minimum search using stochastic search and genetic algorithms.
The stochastic search can also be run using the baseline code
(the non-task farmed version of ChemShell) code and will show speed-up of 3.
All the objectives were achieved, and the benchmark targets surpassed, as detailed below.
The benchmark calculations in this report were performed on the XT4 component of
HECToR in its Phase 2a configuration. This is a Cray machine
with 2.3 GHz quad-core AMD opteron
processors and 2 GB of memory per core. Due to the simple nature of the
parallelisation method employed, we expect the new framework to run
equally efficiently on the recently-introduced Phase 2b configuration of HECToR
and on other parallel platforms. The test cases have been chosen to represent
calculations that might realistically be run by users on HECToR and so should give
a good indication of the performance gains expected from the new approach.
ChemShell, GAMESS-UK and GULP were compiled on HECToR
using the Cray compiler wrapper
with the PGI C and Fortran compilers (v9.0-4).