Skip to content

Updating for libEnsemble v0.9.0

Stephen Hudson edited this page Apr 29, 2022 · 11 revisions

API change review

  • Move scheduler options to libE_specs.

  • BalsamMPIExecutor -> LegacyBalsamMPIExecutor

  • Feature/balsam7 #729

  • exit_criteria elapsed_wallclock_time -> wallclock_max

    • Feature/new wallclock term test #750 (with a deprecation warning)
  • Many changes in default libEnsemble field names to align with sim/gen wording.

The following crosswalk can help any users with gens/sims/allocs using these fields in H

  • last_gen_time/gen_time -> gen_ended_time
  • given -> sim_started
  • given_time -> sim_started_time
  • returned -> sim_ended
  • returned_time -> sim_ended_time
  • given_back -> gen_informed
  • gen_back_time -> gen_informed_time

Also, we have added gen_start_time as this would be needed (for example) to cancel long-running gens. (It is available in libE_info.)

Moved example functions

The following examples have been moved to the new community examples repository. If importing from libEnsemble repository, you will need to point to the new location.

  • ddmd: Molecular-Dynamics / Machine-Learning adaptive simulation loop based on DeepDriveMD.
  • vtmop: A robust, portable solver and a flexible framework for solving MOPs.
  • deap/nsga2: DEAP evolutionary algorithms.

Find these at: https://github.com/Libensemble/libe-community-examples

API additions

  • funcX - launch remote user functions.
  • BalsamExecutor - submit remote user applications.
  • Added match_slots scheduler option.
  • PersistentSupport recv and have blocking argument (default is True)
  • Added partial support for concurrent/futures interface. (cancel(), cancelled(), done(), running(), result(), exception() and context manager)