Efficient Massively-Parallel Tools for the Study of Catalytic Chemistry with ChemShell
This Distributed Computational Science and Engineering (dCSE) project concerned the development of efficient methodologies for the study of heterogeneous catalysis on HECToR. An extra layer of parallelism was added to the ChemShell computational chemistry environment to enable calculations to scale up to over 1000 cores.
ChemShell provides a means of integrating quantum mechanical (QM) and molecular mechanical (MM) software packages to perform combined QM/MM calculations. The external programs are used for energy and gradient calculations while ChemShell performs higher level tasks such as geometry optimisation. In the existing implementation ChemShell can exploit the parallelism of the external programs but does not run in parallel itself.
The aim of this project was to implement a second layer of parallelism at the ChemShell level. This involved a task-farming approach where common chemical calculations (such as a Hessian evaluation) were parallelised by enabling multiple gradient evaluations to be carried out in parallel. This results in significantly better scaling properties than relying on the external programs alone and means that ChemShell calculations can now efficiently exploit the computational resources available on HECToR.
The individual achievements of the project are summarised below:
- A task-farm parallel framework has been implemented in ChemShell to enable simultaneous independent calculations in a single HECToR run.
- The finite-difference Hessian code within ChemShell was re-written to allow task-farmed execution of the gradient evaluations. In a 1024-core test case, speed-up factors of up to 7 were observed compared to the original (non-task farmed) implementation.
- The parallel implementation of DL-FIND has been interfaced to ChemShell to make parallel geometry optimisations available.
- The nudged elastic band (NEB) method for transition-state determination in DL-FIND was parallelised. A speed-up factor of over 8 was found for a QM/MM surface chemistry test case.
- The parallel optimisation algorithms (genetic algorithm, stochastic search) in DL-FIND were interfaced to the task-farmed version of ChemShell. Speed-ups of up to 6 were demonstrated for a stochastic search benchmark.