Libensemble

Latest version: v1.2.2

Safety actively analyzes 613777 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

1.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 now merged with detected platforms, rather than replacing. 1265
* Ensure simulation 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 (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.

1.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.

1.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 when ``parse_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.
* Add platform guide for **Improv**. 1235
* Detection of Perlmutter GPU nodes updated. 1211
* Make ``srun`` GPU setting default to `gpus_per_task` instead of `gpus_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.

1.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 when `save_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.

1.0.0

--------------

:Date: September 25, 2023

New capabilities:

* *libE_specs* option `final_gen_send` returns last results to the generator (replaces `final_fields`). 1086
* *libE_specs* option `reuse_output_dir` allows reuse of workflow and ensemble directories. 1028 1041
* *libE_specs* option `calc_dir_id_width` no. of digits for calc ID in output sim/gen directories. 1052 / 1066
* Added `gen_num_procs` and `gen_num_gpus` *libE_specs* (and *persis_info*) options for resourcing a generator. 1068
* Added `gpu_env_fallback` option to platform fields - specifies a GPU environment variable (for non-MPI usage). 1050
* New MPIExecutor `submit()` argument `mpi_runner_type` specifies an MPI runner for current call only. 1054
* Allow oversubscription when using the `num_procs` *gen_specs["out"]* option. 1058
* sim/gen_specs can use `outputs` in place of `out` to be consistent with `inputs`. 1075
* Executor can be obtained from `libE_info` (4th parameter) in user functions. 1078

Breaking changes:

* *libE_specs* option `final_fields` is removed in favor of `final_gen_send`. 1086
* *libE_specs* option `kill_canceled_sims` now defaults to **False**. 1062
* *parse_args* is not run automatically by `Ensemble` constructor.

Updates to **Object Oriented** Ensemble interface:

* Added `parse_args` as option to `Ensemble` constructor. 1065
* The *executor* can be passed as an option to the `Ensemble` constructor. 1078
* Better handling of `Ensemble.add_random_streams` and `ensemble.persis_info`. 1074

Output changes:

* The worker ID suffix is removed from sim/gen output directories. 1041
* Separate *ensemble.log* and *libE_stats.txt* for different workflows directories. 1027 1041
* Defaults to four digits for sim/gen ID in output directories (adds digits on overflow). 1052 / 1066

Bug fixes:

* Resolved PETSc/Open-MPI issue (when using the Executor). 1064
* Prevent `mpi4py` validation running during local comms (when using OO interface). 1065

Performance changes:

* Optimize `kill_cancelled_sims` function. 1043 / 1063
* *safe_mode* defaults to **False** (for performance). 1053

Updates to example functions:

* Multiple regression tests and examples ported to use OO ensemble interface. 1014

Update forces examples:

* Make persistent generator the default for both simple and GPU examples (inc. updated tutorials).
* Update to object oriented interface.
* Added separate variable resources example for forces GPU.
* Rename `multi_task` example to `multi_app`.

Documentation:

* General overhaul and simplification of documentation. 992

:Note:

* Tested platforms include Linux, MacOS, Windows, and major systems such as Frontier (OLCF), Polaris, and Perlmutter (NERSC). The major system tests ran heterogeneous workflows.
* Tested Python versions: (Cpython) 3.7, 3.8, 3.9, 3.10, 3.11.

:Known Issues:

* See known issues section in the documentation.

0.10.2

--------------

:Date: July 24, 2023

* Fixes issues with workflow directories:
* Ensure relative paths are interpreted from where libEnsemble is run. 1020
* Create intermediate directories for workflow paths. 1017

* Fixes issue where libEnsemble pre-initialized a shared multiprocssing queue. 1026

:Note:

* Tested platforms include Linux, MacOS, Windows and major systems including Frontier (OLCF), Polaris (ALCF), Perlmutter (NERSC), Theta (ALCF) and Bebop. The major system tests ran heterogeneous workflows.

:Known issues:

* On systems using SLURM 23.02, some issues have been experienced when using ``mpi4py`` comms.
* See the known issues section in the documentation for more information (https://libensemble.readthedocs.io/en/main/known_issues.html).

Page 1 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.