Skip to content
Open

Testing #1653

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
152 commits
Select commit Hold shift + click to select a range
4fefcd6
bump pydantic versions
jlnav Apr 30, 2025
6f014b1
try simplifying basic.yml github actions file with pixi
jlnav Apr 30, 2025
2d7871e
add pixi.lock
jlnav Apr 30, 2025
e6e43cb
versions
jlnav Apr 30, 2025
ca3064d
frozen=true
jlnav Apr 30, 2025
1f0ca2d
add gxx_linux64 for linux
jlnav Apr 30, 2025
0660666
why is this dep not working on macos?
jlnav Apr 30, 2025
120ac91
maybe try pixi run for macos
jlnav Apr 30, 2025
ddb7cc3
try running ibcdfo install via pixi run
jlnav May 1, 2025
49ea1b5
Merge branch 'develop' into testing/pixi_in_testing
jlnav May 2, 2025
b6f3583
lockfile adjust
jlnav May 2, 2025
5645fde
Merge branch 'develop' into testing/pixi_in_testing
jlnav May 2, 2025
a7f629f
Merge branch 'develop' into testing/pixi_in_testing
jlnav May 8, 2025
77ae61b
lock nlopt to previously-used-on-ci version
jlnav May 8, 2025
3084b90
add many extra dependencies to pyproject.toml/lockfile
jlnav May 8, 2025
7558239
first attempt at refactoring environments within pyproject.toml into …
jlnav May 9, 2025
a37f461
Add git-lfs to dev environment, add *.lock to tracking by git-lfs
jlnav May 9, 2025
2489937
explicit step to checkout lockfile in CI
jlnav May 9, 2025
2f40de1
in turn, try simplifying dependency install in extra-ci
jlnav May 9, 2025
b5a7429
experiment with github actions to describe lockfile updates in PR
jlnav May 14, 2025
1f83fbb
what happens if pixi.lock is removed?
jlnav May 14, 2025
d09de8d
try that without cache and frozen
jlnav May 14, 2025
c143109
actions ran without lockfile thankfully, so remove git-lfs file and u…
jlnav May 14, 2025
3abb69b
now try basic-ci only install basic deps
jlnav May 14, 2025
73e8e98
forgot to swap envs elsewhere
jlnav May 14, 2025
3320994
fixes in extra ci
jlnav May 14, 2025
d0821de
add pip install Tasmanian --user
jlnav May 14, 2025
d67ae4f
python 3.10 - 3.13 "basic" dependencies environments. need to add to …
jlnav May 15, 2025
7fffb9a
now slot those environments into the basic.yml matrix
jlnav May 15, 2025
cc97340
some rearranging, prepare extra.yml for pixi usage?
jlnav May 16, 2025
92c34e7
the extra tests need slightly different environments
jlnav May 16, 2025
1fae3e0
additional changes to extra envs
jlnav May 20, 2025
504a873
check if doing pixi run for tests gets the Tasmanian install
jlnav May 21, 2025
9485453
I wonder if this works for pip too
jlnav May 21, 2025
4e5b6f2
pixi run Tasmanian install
jlnav May 21, 2025
4c87cdc
the petsc tests actually get run on macOS normally
jlnav May 22, 2025
dd34c19
we already have Tasmanian?
jlnav May 22, 2025
9ca5bb3
Merge branch 'develop' into testing/pixi_in_testing
jlnav May 30, 2025
cdee3a1
lock gpcam
jlnav May 30, 2025
b9a0410
Merge branch 'develop' into testing/pixi_in_testing
jlnav Jun 5, 2025
1ceae77
removing most Pydantic v1 code
jlnav Jul 3, 2025
e1145d8
remove pydantic-version logic in basic.yml and extra.yml CI
jlnav Jul 3, 2025
4d6bade
removing most Balsam docs, tests, examples
jlnav Jul 3, 2025
43c797f
Bump globus-compute-sdk from 3.8.0 to 3.10.0 in the python-updates group
dependabot[bot] Jul 14, 2025
834c491
Merge pull request #1574 from Libensemble/dependabot/pip/develop/pyth…
jmlarson1 Jul 15, 2025
ff4a665
Merge pull request #1573 from Libensemble/refactor/remove_pydantic_1_…
jlnav Jul 16, 2025
f8fb39b
Bump the python-updates group with 4 updates
dependabot[bot] Aug 5, 2025
272052f
Bump crate-ci/typos from 1.34.0 to 1.35.1
dependabot[bot] Aug 5, 2025
7435043
Merge pull request #1576 from Libensemble/dependabot/github_actions/d…
jmlarson1 Aug 5, 2025
dbe07cc
Merge pull request #1575 from Libensemble/dependabot/pip/develop/pyth…
jmlarson1 Aug 5, 2025
4fe8dbb
Bump crate-ci/typos from 1.35.1 to 1.35.3
dependabot[bot] Aug 12, 2025
907e2b8
Merge pull request #1580 from Libensemble/dependabot/github_actions/d…
jmlarson1 Aug 12, 2025
2ca1adb
Bump actions/checkout from 4 to 5 in the actions-updates group
dependabot[bot] Aug 12, 2025
88ac8da
Merge pull request #1579 from Libensemble/dependabot/github_actions/d…
jmlarson1 Aug 12, 2025
ce582d2
Bump crate-ci/typos from 1.35.3 to 1.35.5
dependabot[bot] Aug 19, 2025
043a272
Merge pull request #1581 from Libensemble/dependabot/github_actions/d…
jmlarson1 Aug 19, 2025
817d03e
Bump globus-compute-sdk in the python-updates group
dependabot[bot] Aug 26, 2025
ddcfb8b
Merge pull request #1584 from Libensemble/dependabot/pip/develop/pyth…
jlnav Aug 27, 2025
c052b19
Bump matplotlib from 3.10.5 to 3.10.6 in the python-updates group
dependabot[bot] Sep 2, 2025
36ea32c
Bump crate-ci/typos from 1.35.5 to 1.35.7
dependabot[bot] Sep 2, 2025
972d05e
Merge pull request #1587 from Libensemble/dependabot/github_actions/d…
jmlarson1 Sep 2, 2025
2a10ad8
Merge pull request #1586 from Libensemble/dependabot/pip/develop/pyth…
jmlarson1 Sep 2, 2025
ddcddba
Bump crate-ci/typos from 1.35.7 to 1.36.2
dependabot[bot] Sep 8, 2025
4c10f40
Merge pull request #1589 from Libensemble/dependabot/github_actions/d…
jmlarson1 Sep 9, 2025
04485be
Adding test for ibcdfo with jax
jmlarson1 Sep 16, 2025
df4a395
clenaup
jmlarson1 Sep 16, 2025
b370e2b
Bump the python-updates group across 1 directory with 3 updates
dependabot[bot] Sep 16, 2025
e6769bc
Starting a manifold sampling example
jmlarson1 Sep 17, 2025
ad42858
Merge pull request #1592 from Libensemble/dependabot/pip/develop/pyth…
jmlarson1 Sep 17, 2025
0fcc9b5
Fixing ibcdfo tests
jmlarson1 Sep 17, 2025
3fe6376
black
jmlarson1 Sep 17, 2025
00b6fc0
Black
jmlarson1 Sep 17, 2025
63c082a
Updated IBCDFO branch
jmlarson1 Sep 17, 2025
5d0ae3d
reverting
jmlarson1 Sep 17, 2025
334dc8d
Updated IBCDFO branch
jmlarson1 Sep 17, 2025
756a854
Removing unused def
jmlarson1 Sep 18, 2025
92e65d3
Merge pull request #1591 from Libensemble/updating_ibcdfo_example
jmlarson1 Sep 18, 2025
38f3fcb
Merge pull request #1593 from Libensemble/formatting/black_2025_09_17
jmlarson1 Sep 22, 2025
385be08
Bump crate-ci/typos from 1.36.2 to 1.36.3
dependabot[bot] Sep 29, 2025
35610f5
Bump the python-updates group across 1 directory with 2 updates
dependabot[bot] Sep 29, 2025
6c0df1d
Updating IBCDFO branch
jmlarson1 Sep 30, 2025
0920ec1
Merge pull request #1599 from Libensemble/update_msp_branch
jmlarson1 Sep 30, 2025
f8e977d
Merge pull request #1597 from Libensemble/dependabot/github_actions/d…
jmlarson1 Sep 30, 2025
7858075
Merge branch 'develop' into dependabot/pip/develop/python-updates-ee9…
jmlarson1 Sep 30, 2025
ec7add0
Merge pull request #1598 from Libensemble/dependabot/pip/develop/pyth…
jmlarson1 Oct 1, 2025
f6665b0
Bump crate-ci/typos from 1.36.3 to 1.37.3
dependabot[bot] Oct 6, 2025
b7b539f
typo
jmlarson1 Oct 6, 2025
95dd275
typo
jmlarson1 Oct 6, 2025
1a68569
typo
jmlarson1 Oct 6, 2025
a565a4c
Merge pull request #1601 from Libensemble/dependabot/github_actions/d…
jmlarson1 Oct 6, 2025
11970ae
Bump crate-ci/typos from 1.37.3 to 1.38.1
dependabot[bot] Oct 13, 2025
d74e5f1
Bump the python-updates group with 3 updates
dependabot[bot] Oct 13, 2025
c8bee35
Merge pull request #1602 from Libensemble/dependabot/github_actions/d…
jmlarson1 Oct 13, 2025
beb9b88
Merge pull request #1603 from Libensemble/dependabot/pip/develop/pyth…
jmlarson1 Oct 14, 2025
6914ad2
Bump globus-compute-sdk in the python-updates group
dependabot[bot] Oct 20, 2025
9d9e235
Merge pull request #1604 from Libensemble/dependabot/pip/develop/pyth…
jmlarson1 Oct 23, 2025
0580a92
Merge branch 'develop' into testing/pixi_in_testing
jlnav Oct 29, 2025
08aab02
various new commentary in pyproject.toml - add pixi.lock to git-lfs. …
jlnav Oct 29, 2025
b8227c8
various fixes
jlnav Oct 29, 2025
2221fb0
fix env name
jlnav Oct 29, 2025
c102265
what does it take to use the lockfile?
jlnav Oct 29, 2025
f69d026
looks like I needed this file
jlnav Oct 29, 2025
7b43d51
update lockfile?
jlnav Oct 29, 2025
368b6cc
lets see if these changes at least help with Tasmanian on Ci...?
jlnav Oct 30, 2025
f6a5014
give up and try throwing tasmanian back into extra.yml
jlnav Oct 31, 2025
3c69066
Bump crate-ci/typos from 1.38.1 to 1.39.0
dependabot[bot] Nov 3, 2025
65edd68
Merge pull request #1614 from Libensemble/dependabot/github_actions/d…
jmlarson1 Nov 3, 2025
6d1882e
lets use the typical extra-testing setup - use pixi just on basic.yml…
jlnav Nov 14, 2025
4bd358b
Bump supercharge/redis-github-action from 1.8.0 to 1.8.1
dependabot[bot] Nov 17, 2025
0ce169e
Bump crate-ci/typos from 1.39.0 to 1.39.2
dependabot[bot] Nov 17, 2025
2ef96b5
Merge pull request #1619 from Libensemble/dependabot/github_actions/d…
jmlarson1 Nov 17, 2025
169f0d5
Bump crate-ci/typos from 1.39.2 to 1.40.0
dependabot[bot] Dec 1, 2025
dad9a9d
Bump the python-updates group across 1 directory with 3 updates
dependabot[bot] Dec 1, 2025
5037a42
Merge pull request #1624 from Libensemble/dependabot/github_actions/d…
jmlarson1 Dec 3, 2025
e76f0d8
Merge pull request #1625 from Libensemble/dependabot/pip/develop/pyth…
jmlarson1 Dec 3, 2025
ad609c4
Bump actions/checkout from 5 to 6 in the actions-updates group
dependabot[bot] Dec 3, 2025
0f51b70
Merge pull request #1618 from Libensemble/dependabot/github_actions/d…
jlnav Dec 3, 2025
79b5cbd
Merge pull request #1623 from Libensemble/dependabot/github_actions/d…
jmlarson1 Dec 4, 2025
dc5304f
Merge branch 'develop' into testing/pixi_in_testing
jlnav Dec 5, 2025
281ec19
determining which test dependencies need to be not included for pytho…
jlnav Dec 5, 2025
a113559
remove osx-64 platform (non-arm), bump many dependencies, add black t…
jlnav Dec 5, 2025
162ed58
Bump supercharge/redis-github-action from 1.8.1 to 2
dependabot[bot] Dec 8, 2025
155c234
Bump pytest from 9.0.1 to 9.0.2 in the python-updates group
dependabot[bot] Dec 8, 2025
fe5709c
Merge pull request #1632 from Libensemble/dependabot/pip/develop/pyth…
jmlarson1 Dec 8, 2025
b6579dc
Merge pull request #1631 from Libensemble/dependabot/github_actions/d…
jmlarson1 Dec 8, 2025
229f7f9
make default "testing" opt method for basic test and unit test be sci…
jlnav Dec 10, 2025
e7a976a
Merge pull request #1636 from Libensemble/refactor/aposmm_scipy_is_no…
jlnav Dec 11, 2025
77e831d
Merge branch 'develop' into testing/pixi_in_testing
jlnav Dec 11, 2025
3167b16
nlopt is now extra dependency in pyproject matrix
jlnav Dec 11, 2025
3ef2c8f
Bump matplotlib from 3.10.7 to 3.10.8 in the python-updates group
dependabot[bot] Dec 15, 2025
c5a2ff8
Merge pull request #1638 from Libensemble/dependabot/pip/develop/pyth…
jmlarson1 Dec 16, 2025
7e9ba17
try python 3.14 job on basic.ci, using resolved pixi env
jlnav Dec 17, 2025
e350ad6
bumping many dependencies, making globus-compute-sdk newest versions …
jlnav Dec 18, 2025
d958332
add note to "Output management" on where to find docs on sim dirs
jlnav Dec 19, 2025
de11291
Bump globus-compute-sdk from 4.2.0 to 4.3.0 in the python-updates group
dependabot[bot] Dec 22, 2025
aa3d843
Merge pull request #1642 from Libensemble/dependabot/pip/develop/pyth…
jmlarson1 Dec 23, 2025
08085ff
Bump crate-ci/typos from 1.40.0 to 1.40.1
dependabot[bot] Dec 29, 2025
4e09202
Merge pull request #1643 from Libensemble/dependabot/github_actions/d…
jmlarson1 Jan 4, 2026
96b08cc
Bump crate-ci/typos from 1.40.1 to 1.41.0
dependabot[bot] Jan 5, 2026
069df07
Update sphinx requirement from <9 to <10 in the python-updates group
dependabot[bot] Jan 5, 2026
fb8986c
Merge pull request #1644 from Libensemble/dependabot/github_actions/d…
jmlarson1 Jan 5, 2026
bea2fca
Merge pull request #1641 from Libensemble/docs/some_rearranging
jlnav Jan 6, 2026
2177733
Merge pull request #1645 from Libensemble/dependabot/pip/develop/pyth…
jlnav Jan 9, 2026
506cf9b
Bump crate-ci/typos from 1.41.0 to 1.42.0
dependabot[bot] Jan 13, 2026
87f5a30
Merge pull request #1648 from Libensemble/dependabot/github_actions/d…
jmlarson1 Jan 13, 2026
4fc76f8
Adjusting for new ibcdfo pounders call
jmlarson1 Jan 13, 2026
d36b952
Trying to fix this call
jmlarson1 Jan 13, 2026
60ec8b1
Fixing manifold sampling call
jmlarson1 Jan 13, 2026
3a74471
Black and isort
jmlarson1 Jan 13, 2026
41f608c
Black and isort
jmlarson1 Jan 13, 2026
dddc58b
Merge pull request #1651 from Libensemble/bugfix/ibcdfo_main_jan_2026
jmlarson1 Jan 14, 2026
0f2ee07
Merge pull request #1609 from Libensemble/testing/pixi_in_testing
jlnav Jan 14, 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
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pixi.lock filter=lfs diff=lfs merge=lfs -text
78 changes: 21 additions & 57 deletions .github/workflows/basic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,29 +17,16 @@ jobs:
matrix:
os: [ubuntu-latest]
mpi-version: [mpich]
python-version: ["3.10", "3.11", "3.12", "3.13"]
pydantic-version: ["2.10.6"]
python-version: ["py310", "py311", "py312", "py313", "py314"]
comms-type: [m, l]
include:
- os: macos-latest
python-version: "3.11"
python-version: "py311"
mpi-version: mpich
pydantic-version: "2.10.6"
comms-type: m
- os: macos-latest
python-version: "3.11"
python-version: "py311"
mpi-version: mpich
pydantic-version: "2.10.6"
comms-type: l
- os: ubuntu-latest
mpi-version: mpich
python-version: "3.10"
pydantic-version: "1.10.21"
comms-type: m
- os: ubuntu-latest
mpi-version: mpich
python-version: "3.10"
pydantic-version: "1.10.21"
comms-type: l

env:
Expand All @@ -53,66 +40,43 @@ jobs:

steps:
- uses: actions/checkout@v4
- name: Setup conda - Python ${{ matrix.python-version }}
uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: condaenv
miniconda-version: "latest"
python-version: ${{ matrix.python-version }}
channels: conda-forge
channel-priority: strict
auto-update-conda: true

- name: Force-update certifi and pip
run: |
python --version
python -m pip install --upgrade pip
python -m pip install -I --upgrade certifi

- name: Install Ubuntu compilers
if: matrix.os == 'ubuntu-latest'
run: |
conda install -c conda-forge gcc_linux-64
pip install nlopt==2.9.0
lfs: true

# Roundabout solution on macos for proper linking with mpicc
- name: Install macOS compilers
if: matrix.os == 'macos-latest'
run: |
conda install clang_osx-64
pip install nlopt==2.8.0
- name: Checkout lockfile
run: git lfs checkout

- name: Install basic testing/feature dependencies
run: |
pip install -r install/testing_requirements.txt
pip install -r install/misc_feature_requirements.txt
source install/install_ibcdfo.sh
conda install numpy scipy
- uses: prefix-dev/[email protected]
with:
pixi-version: v0.55.0
cache: true
frozen: true
environments: ${{ matrix.python-version }}
activate-environment: ${{ matrix.python-version }}

- name: Install mpi4py and MPI from conda
- name: Install IBCDFO
run: |
conda install mpi4py ${{ matrix.mpi-version }}
pixi run -e ${{ matrix.python-version }} ./install/install_ibcdfo.sh

- name: Install libEnsemble, test flake8
run: |
pip install pydantic==${{ matrix.pydantic-version }}
pip install -e .
flake8 libensemble

- name: Remove various tests on newer pythons
if: matrix.python-version >= '3.11'
if: matrix.python-version == 'py311' || matrix.python-version == 'py312' || matrix.python-version == 'py313' || matrix.python-version == 'py314'
run: |
rm ./libensemble/tests/functionality_tests/test_local_sine_tutorial*.py # matplotlib errors on 3.12
rm ./libensemble/tests/functionality_tests/test_local_sine_tutorial*.py # matplotlib errors on py312

- name: Run simple tests, Ubuntu
if: matrix.os == 'ubuntu-latest'
run: |
./libensemble/tests/run_tests.py -A "-W error" -${{ matrix.comms-type }}
./libensemble/tests/run_tests.py -A "-W error" -${{ matrix.comms-type }}

- name: Run simple tests, macOS
if: matrix.os == 'macos-latest'
run: |
./libensemble/tests/run_tests.py -A "-W error" -${{ matrix.comms-type }}
pixi run -e ${{ matrix.python-version }} ./libensemble/tests/run_tests.py -A "-W error" -${{ matrix.comms-type }}

- name: Merge coverage
run: |
Expand All @@ -128,5 +92,5 @@ jobs:
if: contains(github.base_ref, 'develop')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: crate-ci/typos@v1.34.0
- uses: actions/checkout@v6
- uses: crate-ci/typos@v1.42.0
46 changes: 5 additions & 41 deletions .github/workflows/extra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,39 +12,24 @@ jobs:
os: [ubuntu-latest]
mpi-version: [mpich]
python-version: ['3.10', '3.11', '3.12', '3.13']
pydantic-version: ['2.10.6']
comms-type: [m, l]
include:
- os: macos-latest
python-version: '3.13'
mpi-version: mpich
pydantic-version: '2.10.6'
comms-type: m
- os: macos-latest
python-version: '3.13'
mpi-version: mpich
pydantic-version: '2.10.6'
comms-type: l
- os: ubuntu-latest
python-version: '3.12'
mpi-version: mpich
pydantic-version: '2.10.6'
comms-type: t
- os: ubuntu-latest
mpi-version: 'openmpi'
pydantic-version: '2.10.6'
python-version: '3.12'
comms-type: l
- os: ubuntu-latest
mpi-version: mpich
python-version: '3.12'
pydantic-version: '1.10.21'
comms-type: m
- os: ubuntu-latest
mpi-version: mpich
python-version: '3.12'
pydantic-version: '1.10.21'
comms-type: l

env:
HYDRA_LAUNCHER: 'fork'
Expand All @@ -56,7 +41,7 @@ jobs:
shell: bash -l {0}

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Setup conda - Python ${{ matrix.python-version }}
uses: conda-incubator/setup-miniconda@v3
with:
Expand Down Expand Up @@ -110,14 +95,6 @@ jobs:
run: |
pip install scikit-build packaging

- name: Install Balsam on Pydantic 1
if: matrix.pydantic-version == '1.10.21'
run: |
conda install pyzmq
git clone https://github.com/argonne-lcf/balsam.git
sed -i -e "s/pyzmq>=22.1.0,<23.0.0/pyzmq>=23.0.0,<24.0.0/" ./balsam/setup.cfg
cd balsam; pip install -e .; cd ..

- name: Install other testing dependencies
run: |
pip install -r install/testing_requirements.txt
Expand All @@ -127,7 +104,6 @@ jobs:

- name: Install libEnsemble, flake8, lock environment
run: |
pip install pydantic==${{ matrix.pydantic-version }}
pip install -e .
flake8 libensemble

Expand All @@ -138,26 +114,14 @@ jobs:
rm ./libensemble/tests/regression_tests/test_persistent_aposmm_external_localopt.py # needs octave, which doesn't yet support 3.13
rm ./libensemble/tests/regression_tests/test_gpCAM.py # needs gpcam, which doesn't build on 3.13

- name: Install redis/proxystore on Pydantic 2
if: matrix.pydantic-version == '2.10.6'
- name: Install redis/proxystore
run: |
pip install redis
pip install proxystore==0.7.0

- name: Remove proxystore test on Pydantic 1
if: matrix.pydantic-version == '1.10.21'
run: |
rm ./libensemble/tests/regression_tests/test_proxystore_integration.py

- name: Remove Balsam/Globus-compute tests on Pydantic 2
if: matrix.pydantic-version == '2.10.6'
run: |
rm ./libensemble/tests/unit_tests/test_ufunc_runners.py
rm ./libensemble/tests/unit_tests/test_executor_balsam.py

- name: Start Redis
if: matrix.os == 'ubuntu-latest'
uses: supercharge/redis-github-action@1.8.0
uses: supercharge/redis-github-action@v2
with:
redis-version: 7

Expand All @@ -179,5 +143,5 @@ jobs:
if: contains(github.base_ref, 'develop')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: crate-ci/typos@v1.34.0
- uses: actions/checkout@v6
- uses: crate-ci/typos@v1.42.0
2 changes: 0 additions & 2 deletions docs/advanced_installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -173,11 +173,9 @@ Optional Dependencies for Additional Features

The following packages may be installed separately to enable additional features:

* Balsam_ - Manage and submit applications to the Balsam service with our :ref:`BalsamExecutor<balsam-exctr>`
* pyyaml_ and tomli_ - Parameterize libEnsemble via yaml or toml
* `Globus Compute`_ - Submit simulation or generator function instances to remote Globus Compute endpoints

.. _Balsam: https://balsam.readthedocs.io/en/latest/
.. _conda-forge: https://conda-forge.org/
.. _Conda: https://docs.conda.io/en/latest/
.. _GitHub: https://github.com/Libensemble/libensemble
Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def __getattr__(cls, name):
return MagicMock()


autodoc_mock_imports = ["ax", "balsam", "gpcam", "IPython", "matplotlib", "pandas", "scipy", "surmise"]
autodoc_mock_imports = ["ax", "gpcam", "IPython", "matplotlib", "pandas", "scipy", "surmise"]

MOCK_MODULES = [
"argparse",
Expand Down
16 changes: 0 additions & 16 deletions docs/executor/balsam_2_executor.rst

This file was deleted.

1 change: 0 additions & 1 deletion docs/executor/ex_index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,3 @@ portable interface for running and managing user applications.
overview
executor
mpi_executor
balsam_2_executor
21 changes: 5 additions & 16 deletions docs/executor/overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,12 @@ The **Executor** provides a portable interface for running applications on any s
``result()``, and ``exception()`` functions from the standard.

The main ``Executor`` class can subprocess serial applications in place,
while the ``MPIExecutor`` is used for running MPI applications, and the
``BalsamExecutor`` for submitting MPI run requests from a worker running on
a compute node to the Balsam service. This second approach is suitable for
systems that don't allow submitting MPI applications from compute nodes.
while the ``MPIExecutor`` is used for running MPI applications.

Typically, users choose and parameterize their ``Executor`` objects in their
calling scripts, where each executable generator or simulation application is
registered to it. If an alternative Executor like Balsam is used, then the
applications can be registered as in the example below. Once in the user-side
worker code (sim/gen func), the Executor can be retrieved without any need to
specify the type.
registered to it. Once in the user-side worker code (sim/gen func), the Executor
can be retrieved without any need to specify the type.

Once the Executor is retrieved, tasks can be submitted by specifying the
``app_name`` from registration in the calling script alongside other optional
Expand Down Expand Up @@ -177,22 +172,16 @@ may resemble:

print(task.state) # state may be finished/failed/killed

.. note::
Applications or tasks submitted via the Balsam Executor are referred to as
**"jobs"** within Balsam, including within Balsam's database and when
describing the state of a completed submission.

The ``MPIExecutor`` autodetects system criteria such as the appropriate MPI launcher
and mechanisms to poll and kill tasks. It also has access to the resource manager,
which partitions resources among workers, ensuring that runs utilize different
resources (e.g., nodes). Furthermore, the ``MPIExecutor`` offers resilience via the
feature of re-launching tasks that fail to start because of system factors.

Various back-end mechanisms may be used by the Executor to best interact
with each system, including proxy launchers or task management systems such as
Balsam_. Currently, these Executors launch at the application level within
with each system, including proxy launchers or task management systems.
Currently, these Executors launch at the application level within
an existing resource pool. However, submissions to a batch scheduler may be
supported in future Executors.

.. _Balsam: https://balsam.readthedocs.io/en/latest/
.. _concurrent futures: https://docs.python.org/library/concurrent.futures.html
9 changes: 9 additions & 0 deletions docs/history_output_logging.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
Output Management
=================

Simulation Directories
~~~~~~~~~~~~~~~~~~~~~~

By default, libEnsemble places output files in the current working directory.

See the ``Directories`` section of :ref:`libE_specs<datastruct-libe-specs>` for instructions
on how to separate simulation runs into separate directories and copy/symlink input files into these
locations.

Default Log Files
~~~~~~~~~~~~~~~~~
The history array :ref:`H<funcguides-history>` and
Expand Down
2 changes: 1 addition & 1 deletion docs/known_issues.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ may occur when using libEnsemble.
we recommend using ``local`` comms in place of ``mpi4py``.
* When using the Executor: Open-MPI does not work with direct MPI task
submissions in mpi4py comms mode, since Open-MPI does not support nested MPI
executions. Use either ``local`` mode or the Balsam Executor instead.
executions. Use ``local`` mode instead.
* Local comms mode (multiprocessing) may fail if MPI is initialized before
forking processors. This is thought to be responsible for issues combining
multiprocessing with PETSc on some platforms.
Expand Down
3 changes: 1 addition & 2 deletions docs/overview_usecases.rst
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,7 @@ its capabilities.

* **Executor**: The executor can be used within user functions to provide a
simple, portable interface for running and managing user tasks (applications).
There are multiple executors including the ``MPIExecutor`` and ``BalsamExecutor``.
The base ``Executor`` class allows local sub-processing of serial tasks.
There are multiple executors including the base ``Executor`` and ``MPIExecutor``.

* **Submit**: Enqueue or indicate that one or more jobs or tasks need to be
launched. When using the libEnsemble Executor, a *submitted* task is executed
Expand Down
Loading
Loading