/
2024-07-31 LW/JW running evaluator on NRP meeting note

2024-07-31 LW/JW running evaluator on NRP meeting note

Participants

  • @Lily Wang

  • @Jeffrey Wagner

Discussion topics

Item

Notes

Item

Notes

Give LW Dockerhub creds

LW needs to make an account at hub.docker.com (ideally using openff gmail)

  • LW – I already have one

JW needs to add LW to https://app.docker.com/admin/orgs/openforcefield/members

  • JW – Invite sent

 

 

Run evaluator client and server locally

  • LW – MWE SFEs example (py 3.9, evaluator 0.3.11)

  • LW – started trying to wrap head around parsl

 

JW attempt:

 

mamba create -n evaluator openff-evaluator

Running natively on mac failed

Trying to run in docker:

using instructions from here: https://github.com/openforcefield/openff-qcsubmit/issues/264

(emulating 64 with the --platform bit)

docker run -it --platform linux/amd64 mambaorg/micromamba

Then outside container:

docker cp test.py <container_hash>:/tmp docker cp tutorial02.py <container_hash>:/tmp docker cp ~/oe_license.txt <container_hash>:/tmp docker cp ~/filtered_data_set.json <container_hash>:/tmp

Then in container:

 

micromamba create -n evaluator -c conda-forge openff-evaluator -c openeye openeye-toolkits

 

filtered_data_set.json:

 

 

 

 

 

Run evaluator w/ server in separate process

server.py:

from openff.evaluator.backends.dask import DaskLocalCluster from openff.evaluator.server import EvaluatorServer with DaskLocalCluster() as calculation_backend: evaluator_server = EvaluatorServer(calculation_backend) evaluator_server.start()

 

client.py

Run evaluator client locally and server in docker

docker run -it -p 8000:8000 --platform linux/amd64 mambaorg/micromamba

 

Getting a real connection on port 8000 (if I change the client port to 8001 I get “connection refused”) but it’s failing at the assert exception is None line with

I get this error whether or not the server is running

  • LW – on port 8000, I get `ConnectionResetError: [Errno 54] Connection reset by peer`. (8001 also gets me “connection refused”)

    • LW – explicitly requesting “localhost” as the server address gets me the NoneType error

  • LW – this is because EvaluatorServer hardcodes where it’s listening from, i.e. “localhost”. This server script works for me if I change it to listen to all IP addresses:

  • LW – also, I was experimenting with different ways to run so I made a very simple image:

    • This can be built with docker build --platform linux/amd64 --tag evaluator-openeye-v0 .

    • And run with docker run -it -p 8000:8000 --platform linux/amd64 evaluator-openeye-v0

  • To dos:

    • Figure out if using a “0.0.0.0” address on Evaluator could be unsafe? It allows listening for connections on all interfaces. Does ChatGPT4 know?

    • Is there another way to fix this?

 

 

Run evaluator worker on NRP, installing software in base container

 

Build evaluator worker docker image and deploy on DockerHub

 

Action items

Decisions

Related content

2024-08-14 Thompson/Wagner Check-in meeting notes
2024-08-14 Thompson/Wagner Check-in meeting notes
Read with this
2021-01-14 Benchmarking Testing Party Meeting notes
2021-01-14 Benchmarking Testing Party Meeting notes
More like this
2024-05-08 All-hands meeting notes
2024-05-08 All-hands meeting notes
More like this
2021-05-12 Reproducing Lim results with Season 1 components meeting notes
2021-05-12 Reproducing Lim results with Season 1 components meeting notes
More like this
2024-12-11 MT/LW
2024-12-11 MT/LW
More like this
2020-06-02 Wagner Dotson PRP tutorial Meeting notes
2020-06-02 Wagner Dotson PRP tutorial Meeting notes
More like this