Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
1b1cecd
set gen_specs.user.lb and ub from vocs variables bounds
jlnav May 26, 2026
d23c772
Merge branch 'develop' into feature/set_bounds_from_vocs
jlnav May 26, 2026
8f36c11
Merge branch 'develop' into feature/set_bounds_from_vocs
jlnav May 27, 2026
6a0e112
adjust many examples, docs, and tutorials to no longer mention gen-on…
jlnav May 27, 2026
ac61de2
adjusting more tests
jlnav May 27, 2026
3e39ff3
fix test
jlnav May 27, 2026
1b233bc
Merge branch 'develop' into feature/set_bounds_from_vocs
jlnav May 28, 2026
026e6b3
coverage
jlnav May 28, 2026
1f03f1a
"f": "MINIMIZE" in many tests wasn't correct
jlnav May 29, 2026
883a052
Bump crate-ci/typos from 1.47.2 to 1.48.0
dependabot[bot] Jul 6, 2026
8c47657
Update setuptools requirement in the python-updates group
dependabot[bot] Jul 6, 2026
93b2ac3
Add FluxExecutor using native Flux Python API bindings
jlnav Jul 7, 2026
a4bc7b4
Merge pull request #1755 from Libensemble/dependabot/github_actions/d…
jlnav Jul 7, 2026
5683a93
Merge pull request #1756 from Libensemble/dependabot/pip/develop/pyth…
jlnav Jul 7, 2026
d965e6c
remove ax gen_f . ensure ax is up-to-date in all extra jobs for the o…
jlnav Jul 8, 2026
42eaff6
slim down some of the NPROCS test run-cases
jlnav Jul 9, 2026
ed5999a
add flux-core / flux-python to py312e and py313e environments
jlnav Jul 10, 2026
8dbfe95
additional tests/coverage attempts
jlnav Jul 10, 2026
358b868
Merge pull request #1762 from Libensemble/testing/more_efficiency
jlnav Jul 16, 2026
0787876
Merge pull request #1760 from Libensemble/deprecate/ax_gen
jlnav Jul 16, 2026
0950f3e
Merge pull request #1740 from Libensemble/feature/set_bounds_from_vocs
jlnav Jul 16, 2026
ee3720f
remove upper-bound of gest-api dependency
jlnav Jul 17, 2026
a5d67ad
update lockfile
jlnav Jul 17, 2026
276543f
Merge branch 'develop' into feature/flux_executor_module
jlnav Jul 21, 2026
b919f2d
additional tests, plus coverage adjusts, plus remove an exception blo…
jlnav Jul 21, 2026
b60592a
vibe-coded coverage for FluxExecutor.submit
jlnav Jul 22, 2026
0f92d54
FluxExecutor appends/respects existing environment. safeguards and me…
jlnav Jul 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/basic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,4 +98,4 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: crate-ci/typos@v1.47.2
- uses: crate-ci/typos@v1.48.0
3 changes: 1 addition & 2 deletions .github/workflows/extra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,6 @@ jobs:
rm ./libensemble/tests/unit_tests/test_ufunc_runners.py # needs globus-compute
rm ./libensemble/tests/regression_tests/test_gpCAM.py # needs gpcam, which doesn't build on 3.13
rm ./libensemble/tests/regression_tests/test_asktell_gpCAM.py # needs gpcam, which doesn't build on 3.13
rm ./libensemble/tests/regression_tests/test_persistent_gp_multitask_ax.py # needs ax-platform, which doesn't yet support 3.14
rm ./libensemble/tests/regression_tests/test_optimas_ax_mf.py # needs ax-platform, which doesn't yet support 3.14
rm ./libensemble/tests/regression_tests/test_optimas_ax_sf.py # needs ax-platform, which doesn't yet support 3.14

Expand Down Expand Up @@ -111,4 +110,4 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: crate-ci/typos@v1.47.2
- uses: crate-ci/typos@v1.48.0
18 changes: 0 additions & 18 deletions docs/examples/ax_multitask.rst

This file was deleted.

5 changes: 2 additions & 3 deletions docs/platforms/frontier.rst
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,9 @@ Now grab an interactive session on one node::

Then in the session run::

python run_libe_forces.py --nworkers 9
python run_libe_forces.py --nworkers 8

This places the generator on the first worker and runs simulations on the
others (each simulation using one GPU).
The workers will each run simulations with one GPU each.

To see GPU usage, ssh into the node you are on in another window and run::

Expand Down
5 changes: 2 additions & 3 deletions docs/platforms/perlmutter.rst
Original file line number Diff line number Diff line change
Expand Up @@ -96,10 +96,9 @@ Now grab an interactive session on one node::
Then in the session run::

export LIBE_PLATFORM="perlmutter_g"
python run_libe_forces.py -n 5
python run_libe_forces.py -n 4

This places the generator on the first worker and runs simulations on the
others (each simulation using one GPU).
The workers will each run simualations with one GPU each.

To see GPU usage, ssh into the node you are on in another window and run::

Expand Down
2 changes: 1 addition & 1 deletion docs/tutorials/xopt_bayesian_gen.rst
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Define the VOCS specification and set up the generator.

.. code-block:: python

libE_specs = LibeSpecs(gen_on_manager=True, nworkers=4)
libE_specs = LibeSpecs(nworkers=4)

vocs = VOCS(
variables={"x1": [0, 1.0], "x2": [0, 10.0]},
Expand Down
6 changes: 3 additions & 3 deletions examples/tutorials/gpcam_surrogate_model/gpcam.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -285,9 +285,9 @@
"\n",
"nworkers = 4\n",
"\n",
"# When using gen_on_manager, nworkers is number of concurrent sims.\n",
"# nworkers is number of concurrent sims.\n",
"# final_gen_send means the last evaluated points are returned to the generator to update the model.\n",
"libE_specs = LibeSpecs(nworkers=nworkers, gen_on_manager=True, final_gen_send=True)\n",
"libE_specs = LibeSpecs(nworkers=nworkers, final_gen_send=True)\n",
"\n",
"n = 2 # Input dimensions\n",
"batch_size = 4\n",
Expand Down Expand Up @@ -400,7 +400,7 @@
"import matplotlib\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# Get \"mean_squared_error\" from generators return (worker 0 as we ran gen_on_manager)\n",
"# Get \"mean_squared_error\" from generators return\n",
"mse = persis_info[0][\"mean_squared_error\"]\n",
"niter = len(mse)\n",
"num_sims = list(range(batch_size, (niter * batch_size) + 1, batch_size))\n",
Expand Down
2 changes: 1 addition & 1 deletion examples/tutorials/xopt_bayesian_gen/xopt_EI_example.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@
"metadata": {},
"outputs": [],
"source": [
"libE_specs = LibeSpecs(gen_on_manager=True, nworkers=4)\n",
"libE_specs = LibeSpecs(nworkers=4)\n",
"\n",
"vocs = VOCS(\n",
" variables={\"x1\": [0, 1.0], \"x2\": [0, 10.0]},\n",
Expand Down
9 changes: 8 additions & 1 deletion libensemble/executors/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
from libensemble.executors.executor import Executor
from libensemble.executors.mpi_executor import MPIExecutor

__all__ = ["Executor", "MPIExecutor"]
# FluxExecutor is optional - requires flux-core Python bindings
try:
from libensemble.executors.flux_executor import FluxExecutor # noqa: F401

__all__ = ["Executor", "MPIExecutor", "FluxExecutor"]
except ImportError:
# flux-core not available - FluxExecutor won't be importable
__all__ = ["Executor", "MPIExecutor"]
Loading
Loading