foxes.engines

Engines are responsible for vectorization and parallelization.

class foxes.engines.PoolEngine(foxes.core.Engine)[source]

Abstract engine for pool type parallelizations.

class foxes.engines.MultiprocessEngine(foxes.engines.PoolEngine)[source]

The multiprocessing engine for foxes calculations.

class foxes.engines.NumpyEngine(foxes.core.Engine)[source]

The numpy engine for foxes calculations.

class foxes.engines.SingleChunkEngine(foxes.core.Engine)[source]

Runs computations in a single chunk.

class foxes.engines.ThreadsEngine(foxes.engines.PoolEngine)[source]

The threads engine for foxes calculations.

class foxes.engines.ProcessEngine(foxes.engines.ThreadsEngine)[source]

The processes engine for foxes calculations.

class foxes.engines.MPIEngine(foxes.engines.ProcessEngine)[source]

The MPI engine for foxes calculations.

class foxes.engines.RayEngine(foxes.engines.PoolEngine)[source]

The ray engine for foxes calculations.

class foxes.engines.DaskBaseEngine(foxes.core.Engine)[source]

Abstract base class for foxes calculations with dask.

class foxes.engines.XArrayEngine(foxes.engines.DaskBaseEngine)[source]

The engine for foxes calculations via xarray.apply_ufunc.

class foxes.engines.DaskEngine(foxes.engines.DaskBaseEngine)[source]

The dask engine for delayed foxes calculations.

class foxes.engines.LocalClusterEngine(foxes.engines.DaskBaseEngine)[source]

The dask engine for foxes calculations on a local cluster.

class foxes.engines.SlurmClusterEngine(foxes.engines.LocalClusterEngine)[source]

The dask engine for foxes calculations on a SLURM cluster.

class foxes.engines.DefaultEngine(foxes.core.Engine)[source]

The case size dependent default engine.