latest
User Guide:
Quickstart
Dependencies
Installation
Testing
Basic Usage
Resources
Advanced Installation
pip
Installing with mpi4py
Conda
Installing with mpi4py with Conda
Spack
Understanding libEnsemble
Overview
Example Use Cases
Glossary
Programming with libEnsemble
Main libE Module - Calling Script
Output Management
Default Log Files
Logger Configuration
Working Directories for User Functions
Data Structures
history array
sim_specs
gen_specs
alloc_specs
libE_specs
persis_info
exit_criteria
worker array
work dictionary
calc_status
User Function API
sim_f API
gen_f API
alloc_f API
Writing User Functions
Generator Functions
Simulator Functions
Allocation Functions
Executors
Executor Overview
Base Executor - Local apps
MPI Executor - MPI apps
Legacy Balsam MPI Executor
Balsam Executor - Remote apps
Resource Manager
Dynamic Assignment of Resources
Resource Detection
Zero-resource workers
Scheduler Module
Worker Resources Module
Convenience Tools and Functions
Calling Script Function Support
Persistent Function Support
Allocation Function Support
Consensus Subroutines
Running libEnsemble
MPI Comms
Limitations of MPI mode
Local Comms
Limitations of local mode
TCP Comms
Limitations of TCP mode
Further command line options
Persistent Workers
Environment Variables
Further run information
Running on HPC Systems
Central v Distributed
Configuring the Run
Systems with Launch/MOM nodes
Balsam - Externally managed applications
Mapping Tasks to Resources
Zero-resource workers
Overriding Auto-detection
funcX - Remote User functions
Instructions for Specific Platforms
Bebop
Cori
Perlmutter
spock/crusher
Summit
Theta
libEnsemble with SLURM
Example libEnsemble Submission Scripts
Tutorials:
Multiprocessing with a Simple Sine
Getting started
Generator function
Exercise
Simulator function
Exercise
Calling Script
Exercise
Next steps
libEnsemble with MPI
Modifying the calling script
Executor with Electrostatic Forces
Getting Started
Calling Script
Exercise
Simulation Function
Exercises
Executor - Assign GPUs
Simulation function
Running the example
Changing number of GPUs per worker
Varying resources
Checking GPU usage
Example submission script
Parallel Optimization with APOSMM
Six-Hump Camel Simulation Function
APOSMM Operations
APOSMM Persistence
Calling Script
Final Setup, Run, and Output
Applications
Borehole Calibration with Selective Simulation Cancellation
Introduction - Calibration with libEnsemble and a Regression Model
Overview of the Calibration Problem
Point Cancellation Requests and Dedicated Fields
Allocation function
Calling Script - Reading Results
Using cancellations to kill running simulations
Examples:
Generation Functions
sampling
persistent_sampling
APOSMM
Configuring APOSMM
Persistent APOSMM
LocalOptInterfacer
uniform_or_localopt
persistent_tasmanian
persistent_fd_param_finder
persistent_surmise
Simulation Functions
six_hump_camel
chwirut
noisy_vector_mapping
periodic_func
borehole
executor_hworld
Allocation Functions
give_sim_work_first
fast_alloc
fast_alloc_to_aposmm
start_only_persistent
start_persistent_local_opt_gens
Calling Scripts
Local Sine Tutorial
Electrostatic Forces with Executor
Traditional Version
Object + yaml Version
Persistent APOSMM with Gradients
Additional References:
Frequently Asked Questions
Common Errors
HPC Errors and Questions
libEnsemble Help
macOS-Specific Errors
Known Issues
Release Notes
Release 0.9.1
Release 0.9.0
Release 0.8.0
Release 0.7.2
Release 0.7.1
Release 0.7.0
Release 0.6.0
Release 0.5.2
Release 0.5.1
Release 0.5.0
Release 0.4.1
Release 0.4.0
Release 0.3.0
Release 0.2.0
Release 0.1.0
Contributing to libEnsemble
Posters and Presentations
SciPy 2020 Virtual Poster
libEnsemble
: A Python Library for Dynamic Ensemble-Based Computations
SciPy 2020 PDF Poster
CSE 2019 Poster
Developer Guide:
Release Management for libEnsemble
Release Process
Before release
During release
After release
Release Platforms
GitHub release
PyPI release
Conda release
Spack release
libEnsemble Internal Modules
Manager Module
libEnsemble manager routines
Worker Module
libEnsemble worker class
History Module
Resources Module
RSET Resources Module
Worker Resources Module
Environment Resources Module
Node Resources Module
MPI Resources Module
Scheduler Module
libEnsemble
»
Posters and Presentations
Edit on GitHub
Posters and Presentations
SciPy 2020 Virtual Poster
libEnsemble
: A Python Library for Dynamic Ensemble-Based Computations
Overview
Using libEnsemble
Manager and Workers
Flexible Run Mechanisms
Executor Module
Supported Research Machines
Running at Scale
Try libEnsemble Online
SciPy 2020 PDF Poster
CSE 2019 Poster
Read the Docs
v: latest
Versions
latest
main
docs-simplify_executor_tutorial
develop
Downloads
pdf
On Read the Docs
Project Home
Builds