Parallel Simulation With MPI

This tutorial explains how to run simulations in parallel using MPI.

Prerequisites:

  • This tutorial assumes you are familiar with terms relating to high performance computing clusters, specifically job and scheduler.

  • This tutorial uses molecular dynamics simulations to demonstrate parallel jobs. The tutorial Introducing Molecular Dynamics teaches these concepts.

  • To execute these notebooks locally, you need an MPI enabled version of HOOMD-blue. You can check this by checking that hoomd.version.mpi_enabled is True:

[1]:
import hoomd

hoomd.version.mpi_enabled
[1]:
True

The HOOMD-blue binaries on conda-forge do not enable MPI due to technical limitations.

The system used in Introducing Molecular Dynamics is small. Replicate the state of that system, as MPI parallel simulations require a minimum system size (this requirement is explained in more details in the next section).

[2]:
import hoomd

sim = hoomd.Simulation(device=hoomd.device.CPU())
sim.create_state_from_gsd(
    filename='../01-Introducing-Molecular-Dynamics/random.gsd')
sim.state.replicate(3, 3, 3)
hoomd.write.GSD.write(filename="random.gsd", state=sim.state, mode='wb')

This tutorial is written with jupyter. You can download the source from the hoomd-examples repository.