A Python toolkit for coordinating asynchronous and dynamic ensembles of calculations

Area: Mathematical libraries

CASS member: FASTMath

Description

Adaptive, portable, and scalable software for connecting “deciders” to experiments or simulations. libEnsemble is effective at solving design, decision, and inference problems on parallel resources. Features include:

  • Dynamic ensembles: Generate parallel tasks on-the-fly based on previous computations.
  • Extreme portability and scaling: Run on or across laptops, clusters, and leadership-class machines.
  • Heterogeneous computing: Dynamically and portably assign CPUs, GPUs, or multiple nodes.
  • Application monitoring: Ensemble members can run, monitor, and cancel apps.
  • Data-flow between tasks: Running ensemble members can send and receive data.
  • Low start-up cost: No additional background services or processes required.

Target audience

Computational Scientists and Engineers; Numerical Optimization Users; High-Performance Computing Practitioners; Software Developers of Scientific Applications; Educators and Students.

Additional resources

End-user resources

Developer resources

Impact stories