v1.0.0
:Date: September 25, 2023
New capabilities:
- libE_specs option
final_gen_send
returns last results to the generator (replacesfinal_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
andgen_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()
argumentmpi_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 ofout
to be consistent withinputs
. #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 offinal_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 toEnsemble
constructor. #1065 - The executor can be passed as an option to the
Ensemble
constructor. #1078 - Better handling of
Ensemble.add_random_streams
andensemble.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/OpenMPI 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 tomulti_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.8, 3.9, 3.10, 3.11.
:Known Issues:
- See known issues section in the documentation.