Skip to content

v1.0.0

Compare
Choose a tag to compare
@shuds13 shuds13 released this 26 Sep 02:37
· 811 commits to main since this release
52e45af

: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/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 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.8, 3.9, 3.10, 3.11.

:Known Issues:

  • See known issues section in the documentation.