Skip to content

Commit 99934db

Browse files
authored
Merge pull request #1298 from Libensemble/release/v_1.3.0
Release/v 1.3.0
2 parents fdbd062 + 09ef5ba commit 99934db

File tree

84 files changed

+1405
-772
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+1405
-772
lines changed

.codespellrc

Lines changed: 0 additions & 4 deletions
This file was deleted.

.github/workflows/basic.yml

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,18 @@ jobs:
1818
os: [ubuntu-latest]
1919
mpi-version: [mpich]
2020
python-version: [3.9, "3.10", "3.11", "3.12"]
21-
pydantic-version: ["2.5.2"]
21+
pydantic-version: ["2.6.4"]
2222
comms-type: [m, l]
2323
include:
2424
- os: macos-latest
2525
python-version: "3.11"
26-
mpi-version: "mpich=4.0.3"
27-
pydantic-version: "2.5.2"
26+
mpi-version: "mpich=4.2.1"
27+
pydantic-version: "2.6.4"
2828
comms-type: m
2929
- os: macos-latest
3030
python-version: "3.11"
31-
mpi-version: "mpich=4.0.3"
32-
pydantic-version: "2.5.2"
31+
mpi-version: "mpich=4.2.1"
32+
pydantic-version: "2.6.4"
3333
comms-type: l
3434
- os: ubuntu-latest
3535
mpi-version: mpich
@@ -86,11 +86,9 @@ jobs:
8686
run: conda install gcc_linux-64
8787

8888
# Roundabout solution on macos for proper linking with mpicc
89-
- name: Install macOS compilers and older SDK
89+
- name: Install macOS compilers
9090
if: matrix.os == 'macos-latest'
9191
run: |
92-
wget https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX10.15.sdk.tar.xz
93-
mkdir ../sdk; tar xf MacOSX10.15.sdk.tar.xz -C ../sdk
9492
conda install clang_osx-64
9593
9694
- name: Install basic testing/feature dependencies
@@ -147,8 +145,6 @@ jobs:
147145
148146
- name: Run simple tests, macOS
149147
if: matrix.os == 'macos-latest'
150-
env:
151-
CONDA_BUILD_SYSROOT: /Users/runner/work/libensemble/sdk/MacOSX10.15.sdk
152148
run: |
153149
./libensemble/tests/run-tests.sh -A "-W error" -z -${{ matrix.comms-type }}
154150
@@ -167,4 +163,4 @@ jobs:
167163
runs-on: ubuntu-latest
168164
steps:
169165
- uses: actions/checkout@v4
170-
- uses: crate-ci/typos@v1.19.0
166+
- uses: crate-ci/typos@v1.20.10

.github/workflows/extra.yml

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -12,27 +12,27 @@ jobs:
1212
os: [ubuntu-latest]
1313
mpi-version: [mpich]
1414
python-version: [3.9, "3.10", "3.11", "3.12"]
15-
pydantic-version: ["2.5.2"]
15+
pydantic-version: ["2.6.4"]
1616
comms-type: [m, l]
1717
include:
1818
- os: macos-latest
1919
python-version: 3.11
20-
mpi-version: "mpich=4.0.3"
21-
pydantic-version: "2.5.2"
20+
mpi-version: "mpich=4.2.0"
21+
pydantic-version: "2.6.4"
2222
comms-type: m
2323
- os: macos-latest
2424
python-version: 3.11
25-
mpi-version: "mpich=4.0.3"
26-
pydantic-version: "2.5.2"
25+
mpi-version: "mpich=4.2.0"
26+
pydantic-version: "2.6.4"
2727
comms-type: l
2828
- os: ubuntu-latest
2929
python-version: "3.10"
3030
mpi-version: "mpich"
31-
pydantic-version: "2.5.2"
31+
pydantic-version: "2.6.4"
3232
comms-type: t
3333
- os: ubuntu-latest
3434
mpi-version: "openmpi"
35-
pydantic-version: "2.5.2"
35+
pydantic-version: "2.6.4"
3636
python-version: "3.12"
3737
comms-type: l
3838
- os: ubuntu-latest
@@ -91,11 +91,9 @@ jobs:
9191
run: conda install gcc_linux-64
9292

9393
# Roundabout solution on macos for proper linking with mpicc
94-
- name: Install macOS compilers and older SDK
94+
- name: Install macOS compilers
9595
if: matrix.os == 'macos-latest'
9696
run: |
97-
wget https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX10.15.sdk.tar.xz
98-
mkdir ../sdk; tar xf MacOSX10.15.sdk.tar.xz -C ../sdk
9997
conda install clang_osx-64
10098
10199
- name: Install mpi4py and MPI from conda
@@ -112,13 +110,16 @@ jobs:
112110
- name: Install generator dependencies
113111
run: |
114112
python -m pip install --upgrade pip
115-
pip install mpmath matplotlib
113+
pip install mpmath matplotlib ax-platform
116114
conda env update --file install/gen_deps_environment.yml
117115
118116
- name: Install ax-platform
117+
run: |
118+
pip install ax-platform
119+
120+
- name: Install gpcam
119121
if: matrix.python-version != '3.12'
120122
run: |
121-
pip install ax-platform==0.2.8
122123
pip install gpcam
123124
124125
- name: Install surmise
@@ -129,8 +130,8 @@ jobs:
129130
- name: Build ytopt and dependencies
130131
if: matrix.python-version <= '3.10' && matrix.os != 'macos-latest'
131132
run: |
132-
pip install scikit-learn==1.1.2
133-
pip install pandas==1.5.3
133+
pip install scikit-learn==1.4.0
134+
pip install pandas==2.2.1
134135
pip install ConfigSpace
135136
pip install "ray[default]"
136137
git clone https://github.com/ytopt-team/scikit-optimize.git
@@ -154,11 +155,11 @@ jobs:
154155
# pip install dragonfly-opt
155156
# pip install git+https://github.com/dragonfly/dragonfly.git
156157
pip install git+https://github.com/jlnav/dragonfly.git@fix/remove_npobject
158+
pip install scikit-build packaging Tasmanian --user
157159
158160
- name: Install other testing dependencies
159161
run: |
160162
conda install octave
161-
pip install scikit-build packaging Tasmanian --user
162163
conda install pyzmq
163164
pip install -r install/testing_requirements.txt
164165
pip install -r install/misc_feature_requirements.txt
@@ -215,10 +216,15 @@ jobs:
215216
rm ./libensemble/tests/regression_tests/test_ytopt_heffte.py
216217
rm ./libensemble/tests/regression_tests/test_gpCAM.py
217218
rm ./libensemble/tests/regression_tests/test_persistent_gp.py
218-
rm ./libensemble/tests/regression_tests/test_persistent_gp_multitask_ax.py
219+
220+
- name: Remove test for persistent Tasmanian on Python 3.12
221+
if: matrix.python-version >= '3.12'
222+
run: |
223+
rm ./libensemble/tests/regression_tests/test_persistent_tasmanian.py
224+
rm ./libensemble/tests/regression_tests/test_persistent_tasmanian_async.py
219225
220226
- name: Remove Balsam/Globus-compute tests on Pydantic 2
221-
if: matrix.pydantic-version == '2.5.2'
227+
if: matrix.pydantic-version == '2.6.4'
222228
run: |
223229
rm ./libensemble/tests/unit_tests/test_ufunc_runners.py
224230
rm ./libensemble/tests/unit_tests/test_executor_balsam.py
@@ -230,8 +236,6 @@ jobs:
230236
231237
- name: Run extensive tests, macOS
232238
if: matrix.os == 'macos-latest'
233-
env:
234-
CONDA_BUILD_SYSROOT: /Users/runner/work/libensemble/sdk/MacOSX10.15.sdk
235239
run: |
236240
./libensemble/tests/run-tests.sh -e -z -${{ matrix.comms-type }}
237241
@@ -250,4 +254,4 @@ jobs:
250254
runs-on: ubuntu-latest
251255
steps:
252256
- uses: actions/checkout@v4
253-
- uses: crate-ci/typos@v1.19.0
257+
- uses: crate-ci/typos@v1.20.10

.spell

Lines changed: 0 additions & 7 deletions
This file was deleted.

.typos.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,13 @@ als = "als"
99
datas = "datas"
1010
numer = "numer"
1111
inout = "inout"
12+
arange = "arange"
13+
wrk = "wrk"
14+
EOF = "EOF"
15+
HPE = "HPE"
16+
RO = "RO"
17+
lst = "lst"
18+
noy = "noy"
1219

1320
[files]
1421
extend-exclude = ["*.bib", "*.xml", "docs/nitpicky"]

.wci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ description: |
1616
language: Python
1717

1818
release:
19-
version: 1.2.2
20-
date: 2024-03-21
19+
version: 1.3.0
20+
date: 2024-05-01
2121

2222
documentation:
2323
general: https://libensemble.readthedocs.io

CHANGELOG.rst

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,28 @@ GitHub issues are referenced, and can be viewed with hyperlinks on the `github r
88

99
.. _`github releases page`: https://github.com/Libensemble/libensemble/releases
1010

11+
Release 1.3.0
12+
--------------
13+
14+
:Date: May 01, 2024
15+
16+
* Support generator running on the manager (on a thread). #1216/#1290
17+
* Set `libE_specs["gen_on_manager"] = True`
18+
* Then run with `nworkers` equal to the number of simulation workers.
19+
* Default to local comms when `nworkers` is supplied and no MPI runner is detected. #1169
20+
* Parse args defaults to **local** comms when `--nworkers` (or `-n`) is set on the command line. #1169
21+
22+
:Note:
23+
24+
* Tests were run on Linux and MacOS with Python versions 3.9, 3.10, 3.11, 3.12
25+
* Heterogeneous workflows tested on Frontier (OLCF), Polaris (ALCF), and Perlmutter (NERSC).
26+
* Note that tests have been recently run on Aurora (ALCF), but the system was unavailable at time of release.
27+
* Tests were also run on Bebop and Improv LCRC systems.
28+
29+
:Known Issues:
30+
31+
* See known issues section in the documentation.
32+
1133
Release 1.2.2
1234
--------------
1335

@@ -203,7 +225,7 @@ Release 0.10.2
203225
* Ensure relative paths are interpreted from where libEnsemble is run. #1020
204226
* Create intermediate directories for workflow paths. #1017
205227

206-
* Fixes issue where libEnsemble pre-initialized a shared multiprocssing queue. #1026
228+
* Fixes issue where libEnsemble pre-initialized a shared multiprocessing queue. #1026
207229

208230
:Note:
209231

@@ -786,7 +808,7 @@ Release 0.3.0
786808
* History is dumped to file on manager or worker exception and MPI aborted (with exit code 1). (#46)
787809
* Default logging level changed to DEBUG and redirected to file ensemble.log.
788810
* Added directory of standalone tests (comms, job kills, and nested MPI launches).
789-
* Improved and speeded up unit tests. (#68)
811+
* Improved and sped up unit tests. (#68)
790812
* Considerable documentation enhancements.
791813

792814
:Known issues:

README.rst

Lines changed: 26 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,8 @@
1-
.. image:: https://raw.githubusercontent.com/Libensemble/libensemble/main/docs/images/libE_logo.png
2-
:align: center
3-
:alt: libEnsemble
4-
5-
|
6-
7-
.. image:: https://img.shields.io/pypi/v/libensemble.svg?color=blue
8-
:target: https://pypi.org/project/libensemble
9-
10-
.. image:: https://img.shields.io/conda/v/conda-forge/libensemble?color=blue
11-
:target: https://anaconda.org/conda-forge/libensemble
12-
13-
.. image:: https://img.shields.io/spack/v/py-libensemble?color=blue
14-
:target: https://packages.spack.io/package.html?name=py-libensemble
15-
16-
|
17-
18-
.. image:: https://github.com/Libensemble/libensemble/actions/workflows/extra.yml/badge.svg?branch=main
19-
:target: https://github.com/Libensemble/libensemble/actions
20-
21-
.. image:: https://codecov.io/github/Libensemble/libensemble/graph/badge.svg
22-
:target: https://codecov.io/github/Libensemble/libensemble
23-
24-
.. image:: https://readthedocs.org/projects/libensemble/badge/?maxAge=2592000
25-
:target: https://libensemble.readthedocs.org/en/latest/
26-
:alt: Documentation Status
27-
28-
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
29-
:target: https://github.com/psf/black
30-
:alt: Code style: black
1+
|libE_logo|
312

32-
.. image:: https://joss.theoj.org/papers/10.21105/joss.06031/status.svg
33-
:target: https://doi.org/10.21105/joss.06031
34-
:alt: JOSS Status
3+
|PyPI| |Conda| |Spack|
354

36-
|
5+
|Tests| |Coverage| |Docs| |Style| |JOSS|
376

387
.. after_badges_rst_tag
398
@@ -135,6 +104,29 @@ Resources
135104
doi = {10.1109/tpds.2021.3082815}
136105
}
137106
107+
.. |libE_logo| image:: https://raw.githubusercontent.com/Libensemble/libensemble/main/docs/images/libE_logo.png
108+
:align: middle
109+
:alt: libEnsemble
110+
.. |PyPI| image:: https://img.shields.io/pypi/v/libensemble.svg?color=blue
111+
:target: https://pypi.org/project/libensemble
112+
.. |Conda| image:: https://img.shields.io/conda/v/conda-forge/libensemble?color=blue
113+
:target: https://anaconda.org/conda-forge/libensemble
114+
.. |Spack| image:: https://img.shields.io/spack/v/py-libensemble?color=blue
115+
:target: https://packages.spack.io/package.html?name=py-libensemble
116+
.. |Tests| image:: https://github.com/Libensemble/libensemble/actions/workflows/extra.yml/badge.svg?branch=main
117+
:target: https://github.com/Libensemble/libensemble/actions
118+
.. |Coverage| image:: https://codecov.io/github/Libensemble/libensemble/graph/badge.svg
119+
:target: https://codecov.io/github/Libensemble/libensemble
120+
.. |Docs| image:: https://readthedocs.org/projects/libensemble/badge/?maxAge=2592000
121+
:target: https://libensemble.readthedocs.org/en/latest/
122+
:alt: Documentation Status
123+
.. |Style| image:: https://img.shields.io/badge/code%20style-black-000000.svg
124+
:target: https://github.com/psf/black
125+
:alt: Code style: black
126+
.. |JOSS| image:: https://joss.theoj.org/papers/10.21105/joss.06031/status.svg
127+
:target: https://doi.org/10.21105/joss.06031
128+
:alt: JOSS Status
129+
138130
.. _Community Examples repository: https://github.com/Libensemble/libe-community-examples
139131
.. _conda-forge: https://conda-forge.org/
140132
.. _Contributions: https://github.com/Libensemble/libensemble/blob/main/CONTRIBUTING.rst

docs/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#
33

44
# You can set these variables from the command line.
5+
#SPHINXOPTS = -b spelling
56
SPHINXOPTS =
67
SPHINXBUILD = python3 -msphinx
78
SPHINXPROJ = libensemble

docs/conf.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ def __getattr__(cls, name):
8383
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
8484
# ones.
8585
extensions = [
86+
"sphinxcontrib.spelling",
8687
"sphinxcontrib.bibtex",
8788
"sphinx.ext.autodoc",
8889
"sphinx.ext.napoleon",
@@ -94,6 +95,13 @@ def __getattr__(cls, name):
9495
"sphinx_design",
9596
"sphinx_copybutton",
9697
]
98+
99+
spelling_word_list_filename = "spelling_wordlist.txt"
100+
spelling_ignore_pypi_package_names = True
101+
spelling_ignore_acronyms = True
102+
spelling_ignore_python_builtins = True
103+
spelling_ignore_importable_modules = True
104+
97105
bibtex_bibfiles = ["references.bib"]
98106
bibtex_default_style = "unsrt"
99107
# autosectionlabel_prefix_document = True

0 commit comments

Comments
 (0)