tfep.utils.parallel

Utilities implementing batch parallelization strategies.

The module currently implements a serial (:class:.SerialStrategy) and a batch parallelization strategy based on the multiprocessing.Pool class (:class:.ProcessPoolStrategy). This latter can be used to evaluate potential energies for batches of positions in an embarassingly parallel way.

All strategies must implement a new parallelization strategy compatible with the tfep library, see the documentation of :class:.ParallelizationStrategy.

See also

:class:tfep.potentials.psi4.Psi4PotentialEnergyFunc

A potential energy function supporting parallelization strategies with usage example.

Classes

ParallelizationStrategy()

The API of a ParallelizationStrategy object.

ProcessPoolStrategy(pool)

Parallelization over a pool of processes using Pool.starmap.

SerialStrategy()

A simple serial execution of the function.