Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
291 commits
Select commit Hold shift + click to select a range
026f10f
indentation
jlnav Jul 12, 2022
f6f9034
try disabling mpich download on windows?
jlnav Jul 12, 2022
1c57af1
revoke generator dep install on windows?
jlnav Jul 12, 2022
078a5f5
try installing msmpi on windows, also make a reg test extra
jlnav Jul 12, 2022
e758a5c
remove mpiexec --version, and ulimit just in case?
jlnav Jul 13, 2022
e8ef791
Merge pull request #867 from Libensemble/refactor/funcx_extractranges…
jlnav Jul 13, 2022
e9edbb9
some attempts to catch and help resolve missing dependencies in psij …
jlnav Jul 13, 2022
4748b79
first attempt at including nsim_workers and nresource_sets in libereg…
jlnav Jul 13, 2022
dff6559
some slight clarification on nsim_workers
jlnav Jul 14, 2022
4d45423
Merge branch 'develop' into testing/windows
jlnav Jul 14, 2022
a311da2
in imports of persistent_aposmm unit test, only set fork if on macOS …
jlnav Jul 14, 2022
20e0071
Merge branch 'develop' into feature/psij_scripts
jlnav Jul 14, 2022
2dd65b7
fix logic so args are just passed though - evaluating how well they w…
jlnav Jul 14, 2022
187dafe
also dont import aposmm unless on linux or darwin
jlnav Jul 14, 2022
be04898
rearrange?
jlnav Jul 14, 2022
0c263c4
first approach to dreaded line explanation in FAQ
jlnav Jul 14, 2022
eb4c772
mention set_start_method alternative
jlnav Jul 15, 2022
4cf8238
Merge pull request #866 from Libensemble/docs/reverse_ssh
jlnav Jul 15, 2022
9666c75
mention persistent gen again
jlnav Jul 15, 2022
4236914
flakeasefoiahsoeifhaosiedfadfe8888888
jlnav Jul 15, 2022
7777f2c
Merge branch 'develop' into feature/psij_scripts
jlnav Jul 15, 2022
fc16331
Re-enamble PETSc tests
shuds13 Jul 15, 2022
25c5a86
first approach to documenting psi/j scripts
jlnav Jul 18, 2022
05356a5
Merge pull request #870 from Libensemble/docs/nsim_workers
jlnav Jul 18, 2022
41ad54d
mention new optional dependencies in README
jlnav Jul 19, 2022
3daa8c4
Uncomment petsc in ci
shuds13 Jul 19, 2022
83f4e65
Re-enamble persistent_gp with git installed dragonfly
shuds13 Jul 20, 2022
573f97d
Merge pull request #872 from Libensemble/testing/reenable_tests
shuds13 Jul 20, 2022
969177c
Fix typo in forces build script
shuds13 Jul 20, 2022
0075ea3
Merge pull request #849 from Libensemble/feature/psij_scripts
jlnav Jul 20, 2022
cd090e5
Replace manager_poll output string with the enumerated ints
shuds13 Jul 22, 2022
d6cbcef
Add function manager_kill_received
shuds13 Jul 22, 2022
bfb0de9
Remove unused imports
shuds13 Jul 23, 2022
42b2924
Add stay_active arg and cancel_points func
shuds13 Jul 26, 2022
5a1b1c8
Add persistent sampling cancellations test
shuds13 Jul 26, 2022
b2662f7
Merge pull request #873 from Libensemble/testing/forces_build_line
shuds13 Jul 26, 2022
2ef41ae
try using setup-mpi action
jlnav Jul 26, 2022
33f0972
do we have cl available?
jlnav Jul 27, 2022
d76a9f0
do we already have either gcc or call?
jlnav Jul 27, 2022
8a146fb
can clang be found here?
jlnav Jul 27, 2022
a35420d
need to see what packages conda installs
jlnav Jul 27, 2022
76b80e7
try suggested compilation/linking from microsoft docs?
jlnav Jul 27, 2022
7510e28
introdue fix for save_every_k filenames on windows
jlnav Jul 28, 2022
0b5ab19
first approach for FAQ windows-mpi entry
jlnav Jul 28, 2022
1bc14e1
small rewording, README references windows faq entry
jlnav Jul 28, 2022
7cc15eb
word choice
jlnav Jul 29, 2022
a6ed499
lets see what windows can run, mark some unit tests as extra
jlnav Jul 29, 2022
80788f2
disable mpi setup on windows
jlnav Jul 29, 2022
1b0308a
flake8
jlnav Jul 29, 2022
660a55f
try marking executor tests as extra?
jlnav Jul 29, 2022
07e61b1
more extra tests
jlnav Jul 29, 2022
e20ea6c
import pytest
jlnav Jul 29, 2022
ed31504
we can probably install msmpi and mpi4py on windows, but can only use…
jlnav Aug 1, 2022
e32a4a7
ugh flake8
jlnav Aug 1, 2022
108b13c
do we have mpirun setup?
jlnav Aug 1, 2022
47a9e62
...what about mpiexec? its listed on the microsoft docs
jlnav Aug 1, 2022
ac289ee
its /help
jlnav Aug 1, 2022
bcdd311
what can I do?
jlnav Aug 1, 2022
f19af9c
first attempt at libEnsemble detecting msmpi
jlnav Aug 1, 2022
9ef9daa
fake8
jlnav Aug 1, 2022
bf8bf07
Merge branch 'develop' into testing/windows
jlnav Aug 1, 2022
5d82d8d
mark a terminate test as extra
jlnav Aug 1, 2022
9725cb5
catch permission error on windows in test_logger
jlnav Aug 1, 2022
51f4c0b
move test_stats_output to functionality tests, experimenting with ski…
jlnav Aug 1, 2022
183c59c
introdue fix for save_every_k filenames on windows
jlnav Jul 28, 2022
c52fa60
remove unneeded run-tests section
jlnav Aug 1, 2022
577f9ab
move testing module
jlnav Aug 1, 2022
8dc0c7f
specify nprocs to -hosts option
jlnav Aug 1, 2022
6688bdb
apparently if were using -hosts we cant use -n
jlnav Aug 1, 2022
84d869a
have msmpi runner just use num_procs, since -hosts may have issues wh…
jlnav Aug 2, 2022
0433da4
disable a test on windows
jlnav Aug 2, 2022
3c0640a
ensure again that jobs are installing correct MPI
jlnav Aug 2, 2022
7fe7fa0
make nlopt test non-extra
jlnav Aug 2, 2022
06a92aa
install mpmath on windows, remove start method force for single aposm…
jlnav Aug 2, 2022
714c0af
organize entries into macos/windows, add clarification on installing …
jlnav Aug 2, 2022
0f54dc5
flake8
jlnav Aug 2, 2022
9a647c8
how does OSTYPE present on windows action?
jlnav Aug 3, 2022
936f1ee
OSTYPE value on windows is msys
jlnav Aug 3, 2022
59f749c
experimenting with importing specific libraries within the localopt f…
jlnav Aug 9, 2022
68f70f7
try moving localopt-specific imports into localopt functions
jlnav Aug 9, 2022
f0c1fc6
initial commit, for funcx unit test
jlnav Aug 12, 2022
532fec4
first approach for refactoring runners.py
jlnav Aug 15, 2022
a1535c4
Black
jmlarson1 Aug 15, 2022
d6428cd
Whitespace
jmlarson1 Aug 15, 2022
7783a18
Slight wording and black
jmlarson1 Aug 15, 2022
286b7e6
finishing first draft of testing runners/funcx code, plus black
jlnav Aug 15, 2022
737c93b
install funcx on ci
jlnav Aug 15, 2022
274b1d1
yes exception
jlnav Aug 15, 2022
e6a0b06
enabling coverage of runners.py
jlnav Aug 15, 2022
cfe5300
oh yeah, black doesnt fix unused imports
jlnav Aug 15, 2022
bf60cdc
try pinning setuptools?
jlnav Aug 15, 2022
52f2545
try installing specific setuptools right before dragonfly
jlnav Aug 15, 2022
2855ea2
lets see whats changed since yesterday
jlnav Aug 16, 2022
71ec57b
initial commit
jlnav Aug 16, 2022
d5232c0
testing structure, plus quick fix
jlnav Aug 16, 2022
8675415
try building heffte faster
jlnav Aug 17, 2022
3e46174
patch FuncXClient with mock to avoid login prompt
jlnav Aug 17, 2022
6433f3b
Trying dropping explicit torch,gpytorch from build
jmlarson1 Aug 17, 2022
728c865
spawn adherence refactor, should run on macos now
jlnav Aug 17, 2022
f241d13
what happens if gpytorch and torch aren't specified?
jlnav Aug 17, 2022
b83dc8c
seriously
jlnav Aug 17, 2022
e302b84
Typos
jmlarson1 Aug 17, 2022
83c3f54
install ax on macos
jlnav Aug 17, 2022
7971b97
additional completed unit tests
jlnav Aug 17, 2022
d0daf31
additional test
jlnav Aug 17, 2022
19aa13d
presumably finish up unit test
jlnav Aug 18, 2022
b6c7fe8
cleanup
jlnav Aug 18, 2022
a20a4f6
skip a flakey test on windows
jlnav Aug 18, 2022
d780d0e
Merge pull request #889 from Libensemble/build/dropping_explicit_torc…
jmlarson1 Aug 18, 2022
0a006fb
Merge branch 'develop' into testing/windows
jmlarson1 Aug 18, 2022
3e1d22e
make sure legacy balsam job doesnt install new balsam
jlnav Aug 18, 2022
df365ed
Merge pull request #886 from Libensemble/testing/mock_funcx
jlnav Aug 18, 2022
6110065
first attempt at simple executor functionality test, plus the adjustm…
jlnav Aug 18, 2022
a1510b4
try adding an mpi windows job
jlnav Aug 18, 2022
d4005c1
Merge branch 'develop' into testing/windows
jlnav Aug 18, 2022
1a593e7
reformatting
jlnav Aug 18, 2022
4a086e3
Merge branch 'develop' into docs/mention_platforms_windows
jlnav Aug 18, 2022
32d8a0e
rewording faq for windows based on feeback
jlnav Aug 18, 2022
32e1b93
fix small error
jlnav Aug 19, 2022
8d722de
probably shouldve caught these issues earlier
jlnav Aug 19, 2022
4ea9b06
skip comm dup test on windows
jlnav Aug 19, 2022
fad9442
Merge branch 'develop' into testing/mock_balsam2
jlnav Aug 19, 2022
ff76c0c
Merge pull request #881 from Libensemble/docs/mention_platforms_windows
jlnav Aug 19, 2022
f50c94b
Merge pull request #869 from Libensemble/testing/windows
jlnav Aug 19, 2022
ccfaa75
Merge branch 'develop' into testing/mock_balsam2
jlnav Aug 19, 2022
271450f
mock EventLog since objects interface unavailable with no login
jlnav Aug 19, 2022
7a97698
pytest on ci is trying to 'collect' the function?
jlnav Aug 19, 2022
ac6ae92
lets just skip the ax test on macos for now
jlnav Aug 19, 2022
771a29e
not assuming balsam can return unknown state, add timeout to revoke_a…
jlnav Aug 22, 2022
da9fd70
reformatting
jlnav Aug 22, 2022
4570d4b
Merge branch 'develop' into refactor/aposmm_opt_setup
jlnav Aug 22, 2022
923ff2a
experimenting with refactoring gen_funcs rc
jlnav Aug 22, 2022
3d5c5dd
remove localopt imports just to see what happens
jlnav Aug 22, 2022
50b2e9c
finish first approach for new RC class, that returns values normally …
jlnav Aug 23, 2022
e9e89aa
Black
jmlarson1 Aug 23, 2022
ecdff7a
whitespace
jmlarson1 Aug 23, 2022
dcb61c0
dont need dataclass decorator since class instantiates own properties…
jlnav Aug 24, 2022
387252f
Merge pull request #890 from Libensemble/testing/mock_balsam2
jlnav Aug 25, 2022
514e64a
Merge branch 'develop' into refactor/aposmm_opt_setup
jlnav Aug 25, 2022
4a64f57
getter now waits if file is not available. still issues with rsopt th…
jlnav Aug 25, 2022
2f4d9b2
read/write opt file from static location
jlnav Aug 25, 2022
3b10452
reformatting
jlnav Aug 25, 2022
7f459c2
Black
jmlarson1 Aug 25, 2022
30cbf62
Merge branch 'develop' into feature/update_man_poll_interface
jmlarson1 Aug 25, 2022
2ea3f75
Running black
jmlarson1 Aug 25, 2022
b5ab39d
Merge pull request #894 from Libensemble/formatting/black_2022_08_05
jmlarson1 Aug 25, 2022
f479a81
fix filepath, allow overwriting previous runs, but with every setter …
jlnav Aug 25, 2022
8d24398
Merge branch 'refactor/aposmm_opt_setup' of https://github.com/Libens…
jlnav Aug 25, 2022
2b10277
less confusing, and presumably cross-platform compatible csv_path change
jlnav Aug 25, 2022
7b08f48
Use cancel_points function in Surmise
shuds13 Aug 26, 2022
725a1a2
Change cancel_points to request_cancel_sim_ids
shuds13 Aug 26, 2022
5430846
Merge branch 'develop' into feature/stay_active_and_cancel_func
shuds13 Aug 26, 2022
0c532af
Change stay_active to keep_state
shuds13 Aug 26, 2022
17cc00f
Add docstring to request_cancel_sim_ids
shuds13 Aug 26, 2022
6b9f8df
Change surmise install from fork to main repo
shuds13 Aug 26, 2022
06c016f
Update surmise tutorial
shuds13 Aug 26, 2022
c8aff68
Whitespace
jmlarson1 Aug 26, 2022
a85fbb4
wait for file to have content before continuing, ignore csv files
jlnav Aug 26, 2022
45ded3f
Update work dictionary docs
shuds13 Aug 27, 2022
26f2738
Document keep_state option in docstrings
shuds13 Aug 27, 2022
3d8dbf5
Update docs for keep_state and cancel function
shuds13 Aug 28, 2022
3cc9470
Remove keep_state from send_recv
shuds13 Aug 29, 2022
09daf6b
Update persistent generator docs
shuds13 Aug 29, 2022
b310a34
Merge branch 'develop' into refactor/aposmm_opt_setup
jlnav Aug 29, 2022
4272455
change is unix to is windows
jlnav Aug 29, 2022
f837d2c
Revert "Change surmise install from fork to main repo"
shuds13 Aug 30, 2022
98aefde
Small edits
jmlarson1 Aug 30, 2022
4344ee5
No space after one-line docstrings
jmlarson1 Aug 30, 2022
8c51191
rename field, set opt_modules on init if file exists, only write to f…
jlnav Aug 30, 2022
d361960
Merge pull request #895 from Libensemble/format/no_blank_after_onelin…
jmlarson1 Aug 30, 2022
b8a781d
Update generator guide wording
shuds13 Aug 30, 2022
24fa2cc
Fix wait docstring on timeout
shuds13 Aug 30, 2022
05217fb
Update for executor autodocs
shuds13 Aug 30, 2022
c3ae6bd
Merge branch 'feature/update_man_poll_interface' of github.com:Libens…
shuds13 Aug 30, 2022
b3f42e9
Moving current_time
jmlarson1 Aug 30, 2022
39efbe7
Put filterwarnings above gen import in Ax test
shuds13 Aug 30, 2022
9dbe750
Temp. disable Ax test due to botorch error
shuds13 Aug 30, 2022
c8d49b1
Update flake8 exceptions
shuds13 Aug 31, 2022
4919c5c
Merge pull request #880 from Libensemble/feature/stay_active_and_canc…
shuds13 Aug 31, 2022
9901eb2
Merge branch 'develop' into feature/update_man_poll_interface
shuds13 Aug 31, 2022
ba841cb
Typos
jmlarson1 Aug 31, 2022
0ea7a52
More active wording
jmlarson1 Aug 31, 2022
fbfa36c
Merge pull request #898 from Libensemble/docs/edit_first_lines
jmlarson1 Aug 31, 2022
9dc32fb
Temp. disable Ax test due to botorch error
shuds13 Aug 30, 2022
cffede5
Merge branch 'develop' into testing/moving_current_time_declaration
jmlarson1 Aug 31, 2022
1ae0e4d
Black
jmlarson1 Aug 31, 2022
be5564c
Merge pull request #896 from Libensemble/testing/moving_current_time_…
jmlarson1 Sep 1, 2022
f7578bd
Convert string to integer comparisons
shuds13 Sep 2, 2022
67d936b
Move MAN_KILL_SIGNALS to message_numbers
shuds13 Sep 2, 2022
d9e475f
Update test to show both kills sent and kills done
shuds13 Sep 2, 2022
78edbd9
first round of manual fstring formatting?
jlnav Sep 13, 2022
4568244
using flynt to autoconvert to fstrings
jlnav Sep 13, 2022
937788b
black and flake reformatting
jlnav Sep 13, 2022
8726b01
only warn about creating sim ids sequentially if provided gen func no…
jlnav Sep 14, 2022
28afff0
Merge pull request #903 from Libensemble/refactor/user_simid_warn
jlnav Sep 16, 2022
5fa732e
Add manager_kill_received to executor timeout test
shuds13 Sep 16, 2022
f23323b
Black/edit
jmlarson1 Sep 19, 2022
a4f5fb9
One iteration for TCP
shuds13 Sep 19, 2022
0048daa
Merge branch 'feature/update_man_poll_interface' of github.com:Libens…
shuds13 Sep 19, 2022
75aa0fa
Merge branch 'feature/update_man_poll_interface' into develop
shuds13 Sep 19, 2022
a6a625d
Merge pull request #877 from Libensemble/feature/update_man_poll_inte…
shuds13 Sep 19, 2022
825b57b
Change CUDA test from zrw to num_resource_sets
shuds13 Sep 20, 2022
2b6b0dd
Merge branch 'develop' into refactor/aposmm_opt_setup
jlnav Sep 20, 2022
8f0b985
some refactoring, plus only using file if csv file already written in…
jlnav Sep 20, 2022
93c9670
Adding another pointer to contributing doc
jmlarson1 Sep 20, 2022
ff2841c
Responding to requested changes
jmlarson1 Sep 20, 2022
ba33c49
Merge pull request #906 from Libensemble/docs/point_to_contributing
wildsm Sep 21, 2022
d1dfe7f
Change zrw doc to prioritize num_resource_sets
shuds13 Sep 21, 2022
21a0f1e
Update parse_args so nsim_workers sets resource sets, not zrw
shuds13 Sep 21, 2022
cf6fad2
Merge branch 'develop' into refactor/fstrings
jlnav Sep 21, 2022
ab3960e
Update --nsim_workers docs
shuds13 Sep 21, 2022
dab1ff2
Reformatting zrw docs
shuds13 Sep 21, 2022
fadaf1b
Update dynamic resources docs
shuds13 Sep 21, 2022
2392f05
Update resources contents page - more descriptions
shuds13 Sep 21, 2022
2824b7e
Update zrw to num_resource_sets elsewhere in docs
shuds13 Sep 21, 2022
e0477c8
Update more test to use num_resource_sets or both
shuds13 Sep 21, 2022
9e93c03
Testing just running nrs
shuds13 Sep 22, 2022
f7fd581
Test only - with resource change
shuds13 Sep 22, 2022
efe906c
Fix indent
shuds13 Sep 22, 2022
2234fdb
Actually run both iterations
shuds13 Sep 22, 2022
37edb07
attempt to simplify rc class
jlnav Sep 22, 2022
390de8c
quick fix
jlnav Sep 22, 2022
c489b36
Add link to slots/rsets diagram
shuds13 Sep 22, 2022
351f256
Merge pull request #907 from Libensemble/testing/resource_update_ueve…
shuds13 Sep 22, 2022
a57a489
Remove excess comments
shuds13 Sep 22, 2022
8c061b2
Merge pull request #905 from Libensemble/feature/default_num_rsets
shuds13 Sep 22, 2022
4858eb6
small fixes
jlnav Sep 23, 2022
ff2ef68
Merge pull request #902 from Libensemble/refactor/fstrings
jlnav Sep 23, 2022
62da11a
Merge branch 'develop' into refactor/aposmm_opt_setup
jlnav Sep 27, 2022
0a1b01d
Merge pull request #891 from Libensemble/refactor/aposmm_opt_setup
jlnav Sep 29, 2022
78112de
check if persistent gp tests work
jlnav Oct 3, 2022
5bb4051
fix bug in ax genf
jlnav Oct 3, 2022
2a20597
Merge pull request #910 from Libensemble/testing/reeanble_tests
jlnav Oct 3, 2022
b611a15
updating changelog for 0.9.3
jlnav Oct 6, 2022
4cb77b5
Removing lines from flake8
jmlarson1 Oct 6, 2022
eb25ed2
Slight wording edits
jmlarson1 Oct 6, 2022
b4f860b
updating versions and dates, also mentioning psij scripts
jlnav Oct 6, 2022
fde05b1
Merge branch 'release/v_0.9.3' of https://github.com/Libensemble/libe…
jlnav Oct 6, 2022
d0689af
Slight wording changes
jmlarson1 Oct 6, 2022
5d8bab0
Merge branch 'release/v_0.9.3' of https://github.com/Libensemble/libe…
jmlarson1 Oct 6, 2022
4da5fc8
Ordering
jmlarson1 Oct 6, 2022
9e67b8d
Typo
jmlarson1 Oct 6, 2022
eba367d
moves a handful of tests from regression tests into functionality tests
jlnav Oct 7, 2022
30e54bb
adjust .flake8
jlnav Oct 7, 2022
fafc276
move yaml file
jlnav Oct 7, 2022
cecd900
adjust changelog
jlnav Oct 12, 2022
9ea2c0f
clarify executor_hworld six_hump_camel call section
jlnav Oct 12, 2022
371a038
adjust release date
jlnav Oct 13, 2022
450f28a
Add commented out srun line to forces_gpu example
shuds13 Oct 13, 2022
8e0407d
Update CHANGELOG
shuds13 Oct 13, 2022
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
4 changes: 2 additions & 2 deletions .flake8
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ 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/regression_tests/test_persistent_gp_multitask_ax.py:E402
libensemble/tests/functionality_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
libensemble/tests/unit_tests/test_persistent_aposmm.py:E402
Expand Down
74 changes: 56 additions & 18 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,17 @@ jobs:
comms-type: l
mpi-version: 'mpich'
do-balsam: true
- os: windows-latest
python-version: '3.10'
comms-type: l
mpi-version: 'msmpi'
do-balsam: false
- os: windows-latest
python-version: '3.10'
comms-type: m
mpi-version: 'msmpi'
do-balsam: false

env:
HYDRA_LAUNCHER: 'fork'
TERM: xterm-256color
Expand All @@ -68,6 +79,13 @@ jobs:
python --version
pip install -I --upgrade certifi

- name: Windows - Add clang path to $PATH env
shell: bash
if: matrix.os == 'windows-latest'
run: |
echo "PATH=$PATH:C:\msys64\mingw64\bin" >> $GITHUB_ENV
echo "PATH=$PATH:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64" >> $GITHUB_ENV

- name: Install Ubuntu compilers
if: matrix.os == 'ubuntu-latest'
run: conda install gcc_linux-64
Expand All @@ -90,34 +108,53 @@ jobs:
mkdir ../sdk; tar xf MacOSX10.14.sdk.tar.xz -C ../sdk
conda install clang_osx-64=9.0.1

- name: Install MPI, mpi4py from conda
if: matrix.python-version != '3.10'
- name: Setup MPI (${{ matrix.mpi-version }})
uses: mpi4py/setup-mpi@v1
if: matrix.os == 'windows-latest'
with:
mpi: ${{ matrix.mpi-version }}

- name: Install mpi4py on Windows
if: matrix.os == 'windows-latest'
run: pip install mpi4py

- name: Install mpi4py and MPI from conda
if: matrix.python-version != '3.10' && matrix.os != 'windows-latest'
run: |
conda install ${{ matrix.mpi-version }}
conda install mpi4py

- name: Install MPI, mpi4py from pip
if: matrix.python-version == '3.10'
- name: Install mpi4py from pip, MPI from conda
if: matrix.python-version == '3.10' && matrix.os != 'windows-latest'
run: |
conda install ${{ matrix.mpi-version }}
pip install mpi4py

- name: Install generator dependencies
if: contains('3.7_3.8_3.9_3.10', matrix.python-version) && matrix.do-balsam == false
if: contains('3.7_3.8_3.9_3.10', matrix.python-version) && matrix.do-balsam == false && matrix.os != 'windows-latest'
run: |
python -m pip install --upgrade pip
conda install nlopt
conda install scipy
conda install superlu_dist
conda install hypre
conda install mumps-mpi
# pip install petsc
# pip install petsc4py
conda install petsc
conda install petsc4py
pip install DFO-LS

pip install mpmath
pip install ax-platform
python -m pip install --upgrade git+https://github.com/mosesyhc/surmise.git@development/PCGPwM

- name: Install some generator dependencies on Windows
if: matrix.os == 'windows-latest'
run: |
python -m pip install --upgrade pip
conda install nlopt
conda install scipy
pip install mpmath

- name: Install generator dependencies for Ubuntu tests
if: matrix.os == 'ubuntu-latest' && matrix.do-balsam == false
run: |
Expand All @@ -132,21 +169,24 @@ jobs:
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 -j 4
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
# pip install dragonfly-opt
pip install git+https://github.com/dragonfly/dragonfly.git

pip install ax-platform

- name: Install other testing dependencies
if: matrix.do-balsam == false
run: |
pip install -r install/testing_requirements.txt
pip install psutil
pip install pyyaml
pip install funcx
pip install balsam

- name: Install Tasmanian on Ubuntu
if: matrix.os == 'ubuntu-latest' && matrix.do-balsam == false
Expand All @@ -158,6 +198,7 @@ jobs:
env:
BALSAM_DB_PATH: $HOME/test-balsam
run: |
pip install -r install/testing_requirements.txt
wget https://github.com/argonne-lcf/balsam/archive/refs/tags/0.5.0.tar.gz
mkdir ../balsam; tar xf 0.5.0.tar.gz -C ../balsam;
python install/configure_balsam_install.py
Expand All @@ -176,11 +217,8 @@ jobs:

- name: Find MPI, Install libEnsemble, flake8, ulimit adjust
run: |
python install/find_mpi.py
mpiexec --version
pip install -e .
flake8 libensemble
ulimit -Sn 10000

- name: Activate API unit test if using mpich
if: matrix.mpi-version == 'mpich'
Expand All @@ -192,10 +230,10 @@ jobs:
run: |
./libensemble/tests/run-tests.sh -e -A "-W error" -z -${{ matrix.comms-type }}

#- name: Run simple tests, Ubuntu, Python 3.11
# if: matrix.python-version == '3.11'
# run: |
# ./libensemble/tests/run-tests.sh -A "-W error" -z -${{ matrix.comms-type }}
- name: Run simple tests, Windows
if: matrix.os == 'windows-latest'
run: |
./libensemble/tests/run-tests.sh -A "-W error" -z -${{ matrix.comms-type }}

- name: Run extensive tests, macOS
if: matrix.os == 'macos-latest'
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ x.log
*.out
*.err
*.stat
*.csv

.vscode
build/
Expand Down
5 changes: 3 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.2
date: 2022-07-06
version: 0.9.3
date: 2022-10-13

documentation:
general: https://libensemble.readthedocs.io
Expand All @@ -32,5 +32,6 @@ execution_environment:
- Slurm
- LSF
- Cobalt
- PBS
transfer_protocols:
- Globus
34 changes: 31 additions & 3 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,34 @@ 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.3
-------------

:Date: October 13, 2022

New capabilities:

* New pair of utilities, `liberegister` and `libesubmit` (based on *PSI/J*), for easily preparing and launching libEnsemble workflows with local comms onto most machines and schedulers. #807
* New persistent support function to cancel sim_ids (`request_cancel_sim_ids`). #880
* `keep_state` option for persistent workers: this lets the manager know that the information being sent is intermediate. #880

Other enhancements:

* The Executor `manager_poll()` interface now sets consistent flags instead of literal strings. #877
* Some internal modules and the test suite now work on Windows. #869 #888
* Specifying the `num_resource_sets` *libE_specs* option instead of `zero_resource_workers` is now recommended except when using a fixed worker/resource mapping. Use ``persis_info["gen_resources"]`` to assign persistent generator resources (default is zero). #905
* An extraneous warning removed. #903

:Note:

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

:Known issues:

* At time of testing on Perlmutter there was an issue running concurrent applications on a node, following a recent system update. This also affects previous versions of libEnsemble, and is being investigated.
* See known issues section in the documentation.

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

Expand All @@ -19,9 +47,9 @@ New capabilities:
* 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).
* 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:

Expand Down
31 changes: 22 additions & 9 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ Introduction to libEnsemble

libEnsemble is a Python_ toolkit for coordinating workflows of asynchronous and dynamic ensembles of calculations.

libEnsemble can help users take advantage of massively parallel resources to solve design,
decision, and inference problems and expand the class of problems that can benefit from
libEnsemble helps users take advantage of massively parallel resources to solve design,
decision, and inference problems and expands the class of problems that can benefit from
increased parallelism.

libEnsemble aims for:
Expand All @@ -58,20 +58,23 @@ With a basic familiarity of Python and NumPy_, users can easily incorporate
any other mathematics, machine-learning, or resource-management libraries into libEnsemble
workflows.

libEnsemble employs a manager/worker scheme that runs on MPI, multiprocessing,
libEnsemble employs a manager/worker scheme that communicates via MPI, multiprocessing,
or TCP. Workers control and monitor any level of work using the aforementioned
generator and simulator functions, from small subnode tasks to huge many-node computations.

libEnsemble includes an Executor interface so application-launching functions are
portable, resilient, and flexible; it also automatically detects available nodes
and cores, and can dynamically assign resources to workers.

libEnsemble performs best on Unix-like systems like Linux and macOS. See the
:ref:`FAQ<faqwindows>` for more information.

.. before_dependencies_rst_tag

Dependencies
~~~~~~~~~~~~

Required dependencies:
**Required dependencies**:

* Python_ 3.7 or above
* NumPy_
Expand All @@ -83,7 +86,7 @@ When using ``mpi4py`` for libEnsemble communications:
* A functional MPI 1.x/2.x/3.x implementation, such as MPICH_, built with shared/dynamic libraries
* mpi4py_ v2.0.0 or above

Optional dependencies:
**Optional dependencies**:

* Balsam_

Expand All @@ -93,8 +96,7 @@ Balsam site, including to remote machines.

* pyyaml_

libEnsemble is typically configured and parameterized via Python dictionaries.
As of v0.8.0, libEnsemble can also be parameterized via yaml.
libEnsemble is typically configured and parameterized via Python dictionaries. libEnsemble can also be parameterized via yaml.

* funcX_

Expand All @@ -103,6 +105,12 @@ a function-as-a-service platform to which workers can submit remote generator or
simulator function instances. This feature can help distribute an ensemble
across systems and heterogeneous resources.

* `psi-j-python`_

As of v0.9.3, libEnsemble features a set of command-line utilities for submitting
libEnsemble jobs to almost any system or scheduler via a `PSI/J`_ Python interface. tqdm_
is also required.

The example simulation and generation functions and tests require the following:

* SciPy_
Expand Down Expand Up @@ -229,7 +237,8 @@ Resources
**Further Information:**

- Documentation is provided by ReadtheDocs_.
- An overview of libEnsemble's structure and capabilities is given in this manuscript_ and poster_
- Contributions_ to libEnsemble are welcome.
- An overview of libEnsemble's structure and capabilities is given in this manuscript_ and poster_.
- Examples of production user functions and complete workflows can be viewed, downloaded, and contributed to in the libEnsemble `Community Examples repository`_.

**Citation:**
Expand All @@ -243,7 +252,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.2},
number = {Revision 0.9.3},
year = {2022},
url = {https://buildmedia.readthedocs.org/media/pdf/libensemble/latest/libensemble.pdf}
}
Expand Down Expand Up @@ -305,6 +314,7 @@ See a complete list of `example user scripts`_.
.. _Community Examples repository: https://github.com/Libensemble/libe-community-examples
.. _Conda: https://docs.conda.io/en/latest/
.. _conda-forge: https://conda-forge.org/
.. _Contributions: https://github.com/Libensemble/libensemble/blob/main/CONTRIBUTING.rst
.. _Coveralls: https://coveralls.io/github/Libensemble/libensemble?branch=main
.. _DEAP: https://deap.readthedocs.io/en/master/overview.html
.. _DFO-LS: https://github.com/numericalalgorithmsgroup/dfols
Expand All @@ -330,6 +340,8 @@ See a complete list of `example user scripts`_.
.. _petsc4py: https://bitbucket.org/petsc/petsc4py
.. _PETSc/TAO: http://www.mcs.anl.gov/petsc
.. _poster: https://figshare.com/articles/libEnsemble_A_Python_Library_for_Dynamic_Ensemble-Based_Computations/12559520
.. _PSI/J: https://exaworks.org/psij
.. _psi-j-python: https://github.com/ExaWorks/psi-j-python
.. _psutil: https://pypi.org/project/psutil/
.. _PyPI: https://pypi.org
.. _pytest-cov: https://pypi.org/project/pytest-cov/
Expand All @@ -348,6 +360,7 @@ See a complete list of `example user scripts`_.
.. _tarball: https://github.com/Libensemble/libensemble/releases/latest
.. _Tasmanian: https://tasmanian.ornl.gov/
.. _Theta: https://www.alcf.anl.gov/alcf-resources/theta
.. _tqdm: https://tqdm.github.io/
.. _user guide: https://libensemble.readthedocs.io/en/latest/programming_libE.html
.. _VTMOP: https://github.com/Libensemble/libe-community-examples#vtmop
.. _WarpX: https://warpx.readthedocs.io/en/latest/
Expand Down
Loading