Skip to content

Commit

Permalink
Merge pull request #862 from Libensemble/release/v_0.9.2
Browse files Browse the repository at this point in the history
Release/v 0.9.2
  • Loading branch information
shuds13 authored Jul 6, 2022
2 parents d1fd01b + b52a28e commit f231328
Show file tree
Hide file tree
Showing 189 changed files with 7,595 additions and 6,107 deletions.
16 changes: 5 additions & 11 deletions .flake8
Original file line number Diff line number Diff line change
Expand Up @@ -22,22 +22,16 @@ exclude =
per-file-ignores =
# init needs to import the logger.
libensemble/__init__.py:F401
libensemble/libensemble/__init__.py:F401

# worker uses regex with chars that resemble escape sequences
libensemble/worker.py:W605

# Need to turn of matching probes (before other imports) on some
# systems/versions of MPI:
libensemble/tests/standalone_tests/mpi_launch_test/create_mpi_jobs.py:E402
libensemble/libensemble/tests/standalone_tests/mpi_launch_test/create_mpi_jobs.py:E402
libensemble/tests/regression_tests/test_uniform_sampling_with_different_resources.py:E402

# Similar reasoning for configuring mpi4py
libensemble/tests/unit_tests/test_executor.py:E402

# Matplotlib needs something set before import
postproc_scripts/*:E402
scripts/*:E402

# Ignoring linelength in APOSMM
libensemble/gen_funcs/*aposmm.py:E501
Expand All @@ -48,11 +42,11 @@ per-file-ignores =
examples/calling_scripts/run_libensemble_on_warpx.py:E402
libensemble/gen_funcs/persistent_aposmm.py:E402, E501
libensemble/tests/regression_tests/test_persistent_aposmm*:E402
libensemble/tests/regression_tests/dont_run_test_persistent_aposmm*:E402
libensemble/tests/regression_tests/test_uniform_sampling_then_persistent_localopt_runs.py:E402
libensemble/tests/functionality_tests/test_active_persistent_worker_abort.py:E402
libensemble/tests/deprecated_tests/test_old_aposmm*:E402

# Ignoring linelength in test_history.py
libensemble/tests/unit_tests/test_history.py:E501
libensemble/tests/unit_tests/test_allocation_funcs_and_support.py:E501
libensemble/tests/unit_tests/test_persistent_aposmm.py:E402

# Allow undefined name '__version__'
setup.py:F821
18 changes: 15 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,8 +111,8 @@ jobs:
conda install superlu_dist
conda install hypre
conda install mumps-mpi
conda install petsc
conda install petsc4py
# pip install petsc
# pip install petsc4py
pip install DFO-LS
pip install mpmath
Expand All @@ -125,6 +125,18 @@ jobs:
sudo apt-get install octave
sudo apt-get install bc
# begin heffte build and dependencies
sudo apt install libfftw3-dev
git clone https://bitbucket.org/icl/heffte.git
mkdir heffte/build
cd heffte/build
pwd
cmake -D CMAKE_BUILD_TYPE=Release -D BUILD_SHARED_LIBS=ON -D CMAKE_INSTALL_PREFIX=./ -D Heffte_ENABLE_AVX=ON -D Heffte_ENABLE_FFTW=ON ../
make
make install
cp ./benchmarks/speed3d_c2c ../../libensemble/tests/regression_tests/
# end heffte build and dependencies
pip install dragonfly-opt
pip install torch
pip install gpytorch
Expand Down Expand Up @@ -198,7 +210,7 @@ jobs:
BALSAM_DB_PATH: $HOME/test-balsam
run: |
source balsamactivate test-balsam
./libensemble/tests/run-tests.sh -re -y 'test_balsam*' -z -l
./libensemble/tests/run-tests.sh -re -y 'test_balsam_hworld*' -z -l
- name: Merge coverage, run Coveralls
env:
Expand Down
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ code/tests/regression_tests/output/
libensemble.egg-info
docs/_build
x.log
*.bin
*.mat
*.npy
*.out
*.err
*.stat

.vscode
build/
Expand Down
4 changes: 2 additions & 2 deletions .wci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ description: |
language: Python

release:
version: 0.9.1
date: 2022-05-11
version: 0.9.2
date: 2022-07-06

documentation:
general: https://libensemble.readthedocs.io
Expand Down
31 changes: 31 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,37 @@ GitHub issues are referenced, and can be viewed with hyperlinks on the `github r

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

Release 0.9.2
-------------

:Date: July 06, 2022

New capabilities:

* Support auto-detection of PBS node lists. #602
* Added configuration options for `libE_stats.txt` file. #743
* Support for `spawn` and `forkserver` multiprocessing start methods. #797

* Note that macOS no longer switches to using `fork`. macOS (since Python 3.8) and Windows
default to using `spawn`. When using `spawn`, we recommend placing calling script code in
an ``if __name__ == "__main__":`` block. The multiprocessing interface can be used to switch methods (https://docs.python.org/3/library/multiprocessing.html#multiprocessing.set_start_method).

Updates to example functions:

Added simple dynamic sampling example. #833
Added heFFTe example. #844
Regression tests separated into problem examples and functionality tests. #839

:Note:

* Tested platforms include Linux, MacOS, Theta (Cray XC40/Cobalt), Summit (IBM Power9/LSF), Bebop (Cray CS400/Slurm), Swing (A100 GPU system), Perlmutter (HPE Cray EX with A100 NVIDIA GPUs).
* Tested Python versions: (Cpython) 3.7, 3.8, 3.9, 3.10.

:Known issues:

* The APOSMM generator function has been noted to operate slower than expected with the `spawn` multiprocessing start method. For this reason we recommend using `fork` with APOSMM, when using `local` comms (`fork` is the default method on Linux systems).
* See known issues section in the documentation.

Release 0.9.1
-------------

Expand Down
5 changes: 5 additions & 0 deletions CONTRIBUTING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ repository write access.

Code should pass flake8 tests, allowing for the exceptions
given in the flake8_ file in the project directory.
Python code should be formatted using the latest version of black_ by running
the following in the base libensemble directory::

black --config=.black .

Issues can be raised at

Expand Down Expand Up @@ -67,4 +71,5 @@ following:
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.

.. _black: https://pypi.org/project/black/
.. _flake8: https://github.com/Libensemble/libensemble/blob/develop/.flake8
2 changes: 1 addition & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ include install/*
include .flake8

recursive-include libensemble *
recursive-include postproc_scripts *
recursive-include scripts *
recursive-include examples *
recursive-exclude * __pycache__
recursive-exclude * *.py[co]
Expand Down
4 changes: 3 additions & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ Required dependencies:
* Python_ 3.7 or above
* NumPy_
* psutil_
* setuptools_

When using ``mpi4py`` for libEnsemble communications:

Expand Down Expand Up @@ -242,7 +243,7 @@ Resources
author = {Stephen Hudson and Jeffrey Larson and Stefan M. Wild and
David Bindel and John-Luke Navarro},
institution = {Argonne National Laboratory},
number = {Revision 0.9.1},
number = {Revision 0.9.2},
year = {2022},
url = {https://buildmedia.readthedocs.org/media/pdf/libensemble/latest/libensemble.pdf}
}
Expand Down Expand Up @@ -339,6 +340,7 @@ See a complete list of `example user scripts`_.
.. _ReadtheDocs: http://libensemble.readthedocs.org/
.. _SciPy: http://www.scipy.org
.. _scipy.optimize: https://docs.scipy.org/doc/scipy/reference/optimize.html
.. _setuptools: https://setuptools.pypa.io/en/latest/
.. _Spack: https://spack.readthedocs.io/en/latest
.. _Summit: https://www.olcf.ornl.gov/olcf-resources/compute-systems/summit/
.. _Surmise: https://surmise.readthedocs.io/en/latest/index.html
Expand Down
Loading

0 comments on commit f231328

Please sign in to comment.