Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
libEnsemble v2.0 is released, with many new features and changes.
libEnsemble
Light Logo Dark Logo
libEnsemble

User Guide:

  • Quickstart
  • Advanced Installation
    • pip
    • uv
    • pixi
    • conda
    • Spack
  • Understanding libEnsemble
  • Constructing Workflows
    • Running an Ensemble
    • Configuring libEnsemble
      • LibE Specs
        • General
        • Directories
        • Profiling
        • TCP
        • History
        • Resources
      • Generator Specs
      • Simulation Specs
      • Exit Criteria
      • Allocation Specs
      • Platform Specs
      • persis_info
    • Output Management
    • Writing Gens and Sims
      • Generators
        • Standardized Generator (gest-api)
        • Legacy Generator Function
      • Simulator Functions
        • Standardized Simulator (gest-api)
        • Legacy Simulator Function
      • calc_status
    • Executors
      • Overview
      • Base Executor
      • MPI Executor
    • Convenience Tools and Functions
  • Running libEnsemble
  • Running on HPC Systems
    • Aurora
    • Bebop
    • Frontier
    • Improv
    • Perlmutter
    • Polaris
    • libEnsemble with SLURM
    • Example Scheduler Submission Scripts

Tutorials:

  • Simple Introduction
    • 1. Getting started
    • 2. Generator
    • 3. Simulator
    • 4. Script
    • 5. Next steps
  • Ensemble with an MPI Application
  • Executor - Assign GPUs
  • Surrogate Modeling with gpCAM
  • Optimization with APOSMM
  • Calibration with Simulation Cancellation
  • Bayesian Optimization with Xopt

Examples:

  • (New) Standardized Generators
    • sampling
    • APOSMM
    • gpCAM
  • Generator Functions
    • sampling
    • persistent_sampling
    • persistent_sampling_var_resources
    • APOSMM
    • uniform_or_localopt
    • ax_multitask
    • VTMOP
    • ytopt
    • consensus
    • DEAP-NSGA-II
    • gpCAM
    • persistent_fd_param_finder
    • persistent_surmise
  • Simulation Functions
    • Borehole function
    • Borehole function with kills
    • Chwirut1 vector-valued function
    • Inverse Bayesian likelihood
    • Norm
    • Rosenbrock test optimization function
    • Six Hump Camel
    • Test noisy function
    • Test periodic function
    • Variable resources
    • Template for CPU executables
    • Template for CPU executables with input file
    • Template for GPU executables
    • Template for GPU executables with dynamic resources
    • Template with dynamic resources (CPU app and GPU app)
    • WarpX Example
    • Mock simulation evaluations (re-run using history file)
    • surmise_test_function
  • Top-Level Scripts
  • Submission Scripts

Additional References:

  • History Array
  • Resource Manager
    • Dynamic Assignment of Resources
    • Resource Detection
    • Scheduler Module
    • Worker Resources Module
  • Allocation Functions
  • Examples
  • Frequently Asked Questions
  • Known Issues
  • Release Notes
  • Contributing to libEnsemble

Developer Guide:

  • Release Management
    • Release Process
    • Release Platforms
      • GitHub release
      • PyPI release
      • Conda release
      • Spack release
  • Internal Modules
    • Manager Module
    • Worker Module
    • History Module
    • Resources Module
    • RSET Resources Module
    • Worker Resources Module
    • Environment Resources Module
    • Node Resources Module
    • MPI Resources Module
    • Scheduler Module
    • Work Dictionary
    • Worker Array
  • Bibliography
Back to top
View this page
Edit this page

Writing Gens and SimsΒΆ

These guides describe common development patterns and optional components for users writing generators and simulators for libEnsemble.

Writing Gens and Sims

  • Generators
    • Writing a Generator
    • Tutorial sections
  • Simulator Functions
    • Writing a Simulator
    • Tutorial sections
    • Executor
    • Persistent Simulators

Useful Data Structures

  • calc_status
    • calc_status with Executor
    • Custom calc_status
    • Available values
    • Corresponding messages
Next
Generators
Previous
Output Management
Copyright © 2026 Argonne National Laboratory
Made with Sphinx and @pradyunsg's Furo