libEnsemble
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.
Package links
- E4S: libEnsemble
- Spack: py-libensemble