Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main' into no-conda
Browse files Browse the repository at this point in the history
  • Loading branch information
mattwthompson committed Oct 19, 2023
2 parents f336a3c + 3673ada commit 8c461a6
Show file tree
Hide file tree
Showing 23 changed files with 1,397 additions and 619 deletions.
14 changes: 7 additions & 7 deletions .github/workflows/CI.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,30 +20,30 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, macOS-latest]
python-version: [3.8]
python-version: [3.9]
openeye: [true, false]
integration: [true]

env:
OE_LICENSE: ${{ github.workspace }}/oe_license.txt

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Install with OpenEye Toolkits
if: ${{ matrix.openeye == true }}
uses: mamba-org/provision-with-micromamba@main
uses: mamba-org/setup-micromamba@v1
with:
environment-file: devtools/conda-envs/test-env.yaml
extra-specs: |
create-args: >-
python=${{ matrix.python-version }}
- name: Install with AmberTools
if: ${{ matrix.openeye == false }}
uses: mamba-org/provision-with-micromamba@main
uses: mamba-org/setup-micromamba@v1
with:
environment-file: devtools/conda-envs/no_openeye.yaml
extra-specs: |
create-args: >-
python=${{ matrix.python-version }}
- name: License OpenEye
Expand Down Expand Up @@ -72,7 +72,7 @@ jobs:
pytest -v --cov=openff --cov-config=setup.cfg openff/bespokefit/tests --cov-report=xml
- name: Codecov
uses: codecov/codecov-action@v3.1.1
uses: codecov/codecov-action@v3
with:
file: ./coverage.xml
fail_ci_if_error: false
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/installer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,13 @@ jobs:
PYVER: ${{ matrix.python-version }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Install conda environment
uses: mamba-org/provision-with-micromamba@main
uses: mamba-org/setup-micromamba@v1
with:
environment-file: devtools/conda-envs/installer.yaml
extra-specs: |
create-args: >-
python=${{ matrix.python-version }}
- name: Prepare and run the constructor
Expand Down
5 changes: 3 additions & 2 deletions devtools/conda-envs/no_openeye.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ dependencies:
- rdkit >=22
- ambertools >=22
- openff-utilities
- openff-toolkit-base =0.11
- openff-toolkit-base >=0.11
- openff-forcefields
- openff-interchange
- openff-qcsubmit
Expand All @@ -33,7 +33,7 @@ dependencies:
- importlib_metadata >=4

# Optional
- forcebalance
- forcebalance >=1.9.6
- openff-fragmenter-base
- xtb-python

Expand All @@ -51,6 +51,7 @@ dependencies:
- uvicorn
- fastapi
- starlette =0.20 # https://github.com/openforcefield/openff-bespokefit/pull/203#issuecomment-1315936000
- anyio <4
- celery
- httpx
- redis-server
Expand Down
5 changes: 3 additions & 2 deletions devtools/conda-envs/test-env.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ dependencies:
- click-option-group
- rdkit
- openff-utilities
- openff-toolkit-base =0.11
- openff-toolkit-base >=0.11
- openff-forcefields
- openff-interchange
- openff-units
Expand All @@ -34,7 +34,7 @@ dependencies:
- importlib_metadata >=4

# Optional
- forcebalance
- forcebalance >=1.9.6
- openff-fragmenter-base
- xtb-python
- openeye-toolkits
Expand All @@ -53,6 +53,7 @@ dependencies:
- uvicorn
- fastapi
- starlette =0.20 # https://github.com/openforcefield/openff-bespokefit/pull/203#issuecomment-1315936000
- anyio <4
- celery
- httpx
- redis-server
Expand Down
4 changes: 4 additions & 0 deletions docs/releasehistory.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ Releases follow the ``major.minor.micro`` scheme recommended by

<!-- ## Since last release -->

### Bug Fixes
* [#286] - Update for behavior/API changes in ForceBalance 1.9.6 and OFF Tookit 0.14.4.


<!-- ## Version / Date DD-MM-YYYY -->

## 0.2.2 / 08-05-2023
Expand Down
45 changes: 45 additions & 0 deletions docs/users/bespoke-executor.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,52 @@ different stages may run in parallel.

See the [quick start guide](quick_start_chapter) for details on submitting jobs to a running bespoke executor.

(executor_distributed_workers)=
## Distributed Workers

Bespokefit is able to make use of distributed resources across HPC clusters or multiple machines on the same network via
the [Celery] framework which underpins the workers. In this example we assume the workers and bespoke executor are on
different machines. First gather the IP address of the machine which will be running the bespoke executor

```shell
ifconfig -a
```

A bespoke executor with no local workers can then be launched using the `launch` command

```shell
openff-bespoke executor launch --directory "bespoke-executor" \
--n-fragmenter-workers 0 \
--n-optimizer-workers 0 \
--n-qc-compute-workers 0
```

We now need to provide the address of the executor inorder to connect the remote workers. BespokeFit has a number of run
time [settings] which can be configured via environment variables. The address of the executor should be set to
`BEFLOW_REDIS_ADDRESS` in the environment the workers will be launched from using

```shell
export BEFLOW_REDIS_ADDRESS="address"
```

Bespoke workers of a given type can then be launched using the `launch-worker` command, the following would start a
fragmentation worker.

```shell
openff-bespoke launch-worker --worker-type fragmenter
```

Provided the worker starts successfully a log file will be generated called `celery-fragmenter.log` which should be
checked to make sure the worker has connected to the executor.

:::{note}
The `launch-worker` command does not allow for configuration of the worker resources, it is recommended that the
corresponding environment variable [settings] are used instead.
:::


[QCEngine]: http://docs.qcarchive.molssi.org/projects/QCEngine/en/stable/
[settings]: openff.bespokefit.utilities.Settings

(executor_using_api)=
## Using the API
Expand Down
Loading

0 comments on commit 8c461a6

Please sign in to comment.