Releases: Libensemble/libensemble
Releases · Libensemble/libensemble
v1.5.0
:Date: Apr 10, 2025
General Updates:
- Migrate package build system to
pyproject.toml
(withpixi
support). #1459 - Improve handling when no MPI found. #1514
ensemble.save_output()
can save without appending attributesappend_attrs=False
. #1531- Improve handling of worker-specific
persis_info
fields when they are not initially provided. #1531- Bugfix: Fix
final_gen_send
when there are no worker-specificpersis_info
fields. - Handle worker-generated
persis_info
fields. - Ensure
persis_info
is initialized to an empty dictionary in user functions instead ofNone
.
- Bugfix: Fix
Examples:
- Update Ax generator for
Ax v0.5.0
. #1508 - Rename gpCAM generators. #1516
persistent_gpCAM_ask_tell
topersistent_gpCAM
persistent_gpCAM_simple
topersistent_gpCAM_covar
(in fact less simple)
- Persistent generators return
None
as first return value unlessH_o
is updated. #1515 - Add LUMI to known platforms. #1546
Documentation:
- Revamp Examples and HPC section of documentation. #1501, #1536, #1539
- Add tutorial and notebook demonstrating surrogate model creation with gpCAM. #1531
- Update Aurora guide. #1510
- Update and documented APOSMM/WarpX example. #1543
:Note:
- Tests were run on Linux and MacOS with Python versions 3.10, 3.11, 3.12, 3.13
- Heterogeneous workflows tested on Aurora (ALCF), Polaris (ALCF), LUMI (EuroHPC JU), and Perlmutter (NERSC).
:Known Issues:
- See known issues section in the documentation.
v1.4.3
:Date: Dec 16, 2024
-
Fix
wait_on_start
type-instance condition checking. #1474 -
Logging updates:
:Scripts:
:Examples:
- Move dragonfly GP, heFFTe, ytopt, and Ax multitask tests to community examples. #1439
:Note:
- Tests were run on Linux and MacOS with Python versions 3.9, 3.10, 3.11, 3.12, 3.13
- Heterogeneous workflows tested on Polaris (ALCF) and Perlmutter (NERSC).
:Known Issues:
- See known issues section in the documentation.
v1.4.2
:Date: August 14, 2024
- Fix under-utilized resource usage. #1398
- Fixes bug causing executor to wrongly increase processor counts when not all nodes are utilized.
- Fixes case where setting
num_gpus
to zero was treated asNone
.
- Add missing PerlmutterGPU specs (these were detected anyway). #1393
- Handle case where Perlmutter finds no partition. #1391
- Launch environment scripts in shell. #1392
:Examples:
- Add proxystore example (uses a proxy in history array). #1326
:Note:
- Tests were run on Linux and MacOS with Python versions 3.9, 3.10, 3.11, 3.12
- Heterogeneous workflows tested on Frontier (OLCF), Polaris (ALCF), and Perlmutter (NERSC).
- Note that tests have been recently run on Aurora (ALCF), but the system was unavailable at time of release.
:Known Issues:
- See known issues section in the documentation.
v1.4.1
:Date: July 29, 2024
- Fix erroneous
nworkers
warning when usingmpi4py
comms. #1383
:Note:
- Tests were run on Linux and MacOS with Python versions 3.9, 3.10, 3.11, 3.12
- Heterogeneous workflows tested on Frontier (OLCF), Polaris (ALCF), and Perlmutter (NERSC).
- Note that tests have been recently run on Aurora (ALCF), but the system was unavailable at time of release.
:Known Issues:
- See known issues section in the documentation.
v1.4.0
:Date: July 25, 2024
- Add a
live_data
option for real-time data collection / plotting. #1310 nworkers
/is_manager
are set whenEnsemble
object is created. #1331/ #1336- This update locks the comms method when
Ensemble
object is created.
- This update locks the comms method when
- Add a
group_size
option to deal with unevenly resourced nodes. #1349 - Bug fix: Fix shutdown hang on worker error when using
gen_on_manager
. #1348 - Bug fix: Log level was locked to
INFO
when using class interface. #1351 - Updated code to support
numpy
2.0. #1332
Documentation:
- Notebook examples with Colab links added to documentation. #1310
- Example of templating input files added to forces tutorial. #1310
Example user functions:
- Update
gpCAM
generators to work with latest interface. #1355 - Change
one_d_func
tonorm_eval
. Works with multiple dimensions. #1352 / #1354
:Note:
- Tests were run on Linux and MacOS with Python versions 3.9, 3.10, 3.11, 3.12
- Heterogeneous workflows tested on Frontier (OLCF), Polaris (ALCF), and Perlmutter (NERSC).
- Note that tests have been recently run on Aurora (ALCF), but the system was unavailable at time of release.
- Tests were also run on Bebop and Improv LCRC systems.
:Known Issues:
- See known issues section in the documentation.
v1.3.0
:Date: May 01, 2024
- Support generator running on the manager (on a thread). #1216/#1290
- Set
libE_specs["gen_on_manager"] = True
- Then run with
nworkers
equal to the number of simulation workers.
- Set
- Default to local comms when
nworkers
is supplied and no MPI runner detected. #1169 - Parse args defaults to local comms when
--nworkers
(or-n
) is set on command line. #1169
:Note:
- Tests were run on Linux and MacOS with Python versions 3.9, 3.10, 3.11, 3.12
- Heterogeneous workflows tested on Frontier (OLCF), Polaris (ALCF), and Perlmutter (NERSC).
- Note that tests have been recently run on Aurora (ALCF), but the system was unavailable at time of release.
- Tests were also run on Bebop and Improv LCRC systems.
:Known Issues:
- See known issues section in the documentation.
v1.2.2
:Date: March 21, 2024
- Bugfix: Some
libE_specs
were not passed through correctly when added after ensemble initialization. #1264 platform_specs
options are merged with detected platforms, rather than replacing. #1265- Ensure simulations directories are created when
sim_input_dir
is specified, likewise for gen dirs. #1266
Example user functions:
- Improved structure of gpCAM generator. #1260
:Note:
- Tests were run on Linux and MacOS with Python versions 3.9, 3.10, 3.11, 3.12
- Heterogeneous workflows tested on Frontier (OLCF), Polaris, and Perlmutter (NERSC).
- Note that recent tests have been run on Aurora (ALCF), but the system was unavailable at time of release.
- Tests were also run on Bebop and Improv LCRC systems.
:Known Issues:
- See known issues section in the documentation.
v1.2.1
:Date: February 23, 2024
- Fix documentation bug where pydantic models do not display correctly. #1249
- Improve internal efficiency. #1243 / #1249
:Note:
- Tests were run on Linux and MacOS with Python versions 3.9, 3.10, 3.11, 3.12
- Heterogeneous workflows tested on Aurora (ALCF), Frontier (OLCF), Polaris, and Perlmutter (NERSC).
- Tests were also run on Bebop and Improv LCRC systems.
:Known Issues:
- See known issues section in the documentation.
v1.2.0
:Date: February 8, 2024
New capabilities:
- Support for both Pydantic 1 and 2. #1135
- Support
object
dtype in history array. #1179 / #1181 - Users can add additional fields to output arrays in user functions. #1203
- Decorators to provide user function in/out specs. #1072
Fixes:
- Bug fix - Overwrite history file on completion when even when the pathname is unchanged. #1177
- Prevent duplicate save when using
save_every_k_gens
. #1154 - Add a
FAILED_TO_START
task status. #1229 - Set
ensemble.nworkers
when create ensemble object even whenparse_args
is False. #1162
Platform support:
- Add platform support for Aurora. #1183
- Support for GPU tiles (new platform spec
tiles_per_gpu
). - Add libE_specs option
use_tiles_as_gpus
to treat each tile as a GPU. - Add Aurora platform guide.
- Support for GPU tiles (new platform spec
- Add platform guide for Improv. #1235
- Detection of Perlmutter GPU nodes updated. #1211
- Make
srun
GPU setting default togpus_per_task
instead ofgpus_per_node
. #1206 - Remove Theta support and guide. #1200
Example user functions:
- Add gpCAM generator. #1189 / #1213 / #1220
- Support for IBCDFO local optimization methods in APOSMM. #998
- Add
mock_sim
to enable replay of a previous run using history file. #1207 - Fix Sine tutorial. #1168
:Note:
- Tests were run on Linux and MacOS with Python versions 3.9, 3.10, 3.11, 3.12
- Heterogeneous workflows tested on Aurora (ALCF), Frontier (OLCF), Polaris, and Perlmutter (NERSC).
- Tests were also run on Bebop and Improv LCRC systems.
:Known Issues:
- See known issues section in the documentation.
v1.1.0
:Date: November 8, 2023
New capabilities:
- New history array save options in libE_specs. #1103/#1139/#1141
save_H_on_completion
saves history before exiting main libE function.save_H_with_date
includes date and timestamp in the save.H_file_prefix
provides prefix for saved file.save_H_on_completion
defaults to True whensave_every_k_gens/sims
is set.
Support for Python versions:
- Adds support/testing for Python 3.12
- Removes testing of Python 3.8
:Note:
- Tests were run on Linux and MacOS with Python versions 3.9, 3.10, 3.11, 3.12
- Heterogeneous workflows tested on Frontier (OLCF), Polaris, and Perlmutter (NERSC).
- Tests were also run on Bebop and Improv LCRC systems.
:Known Issues:
- See known issues section in the documentation.