Aspire

Aspire is a massively parallel, CPU/GPU, multi-resolution hybrid dynamics program. This program is being developed as part of an EPSRC-funded software development project.

Aspire uses the Acquire work sharing library (also developed as part of this project) to share the large amounts of computation required by a hybrid dynamics program over distributed and heterogenous computing resources. Aspire therefore provides an example application that demonstrates the power of the Acquire worksharing library.

Aspire is based on the concept of multiresolution dynamics. In traditional molecular dynamics, a single resolution is used for both the motion (how the atoms move) and for the forcefield (how the atoms are represented). This means that traditional molecular dynamics programs are very computationally demanding. Parallelisation of these codes hit major data bottlenecks due to the large amounts of data that must be transmitted between processors to represent the huge numbers of atoms that must be modelled in condensed-phase biomolecular simulations.

In multiresolution dynamics, different resolutions are used for the motion and for the forcefield of the atoms. For example, high-resolution models are used to represent atoms when they are close together, while successively lower resolution models (such as bead or multipole models) are used as atoms move further apart. Switching functions ensure that changes between resolution are handled smoothly, without introducing discontinuities into the forcefield. The use of multiresolution methods for the motion and forcefield of atoms significantly reduces the amounts of data that must be transmitted between processors. This simplifies the parallelisation of the algorithms, thereby allowing greater efficiency to be achieved. In addition, multi-resolution models lend naturally to implementation on heterogenous computing architectures, e.g. CPU/GPU clusters. The low-data, computationally demanding low-resolution models are well-suited for implementation on a GPU, while the high-data, computationally simple high-resolution models are calculated using the host multicore CPU.