Meta SimPEG Classes (simpeg.meta)#

SimPEG’s meta module defines tools for working with simulations representing many smaller simulations working together to solve a geophysical problem. A meta simulation is a simulation of simulations!

Warning

These classes are under active development. Their conventions might change in the future in backward compatibility breaking ways.

Serial Simulations#

These classes implement the serial versions of the meta simulations. As they do not have any extra dependencies they will be available by default. They are also useful to check the setup of the problem before moving on to the parallel implementations, as the calling structure will match the parallel versions.

MetaSimulation(simulations, mappings)

Combine multiple simulations into a single one.

SumMetaSimulation(simulations, mappings)

An extension of the MetaSimulation that sums the data outputs.

RepeatedSimulation(simulation, mappings)

A MetaSimulation where a single simulation is used repeatedly.

Parallel Simulations#

There will be several version of meta simulations with different flavors of parallelism used. Other than the multiprocessing based implementation, they all will require extra packages beyond the standard SimPEG requirements.

Multiprocessing#

MultiprocessingMetaSimulation(simulations, ...)

Multiprocessing version of simulation of simulations.

MultiprocessingSumMetaSimulation(...[, ...])

A multiprocessing version of SumMetaSimulation.

MultiprocessingRepeatedSimulation(...[, ...])

A multiprocessing version of the RepeatedSimulation.

Dask#

DaskMetaSimulation(simulations, mappings, client)

Dask Distributed version of simulation of simulations.

DaskSumMetaSimulation(simulations, mappings, ...)

A dask distributed version of SumMetaSimulation.

DaskRepeatedSimulation(simulation, mappings, ...)

A multiprocessing version of the RepeatedSimulation.

MPI#

Coming soon!

Ray#

Coming soon!