IMP logo
IMP Manual  for IMP version 2.16.0
parallel.md
1 Parallelization {#parallel}
2 ===============
3 
4 There are several ways to run calculations in parallel in %IMP:
5 
6  - IMP.mpi module. This is used to run tightly-coupled calculations in parallel
7  using MPI, over processors that are not necessarily on the same machine.
8  In particular, sampling protocols in the IMP.pmi module use this
9  where available. %IMP must be compiled with your MPI compiler to use this
10  module. See IMP.mpi for more details.
11 
12  - IMP.parallel module. This is designed to manage multiple independent tasks
13  spread over a pool of available workers. The tasks cannot communicate with
14  each other, but the system is fault tolerant and will restart any failed
15  tasks. This module is available in all %IMP builds.
16  See IMP.parallel for details.
17 
18  - OpenMP support. This is used to spread out %IMP's computation between
19  multiple threads on a single multi-core machine. %IMP must be compiled
20  with OpenMP support to use this, but when enabled it is used automatically
21  by all parts of %IMP that have been parallelized. See the
22  [OpenMP](@ref openmp) page for more details.