-
Notifications
You must be signed in to change notification settings - Fork 10
High throughput wc #147
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
High throughput wc #147
Conversation
60c0a08
to
41fb3d2
Compare
UPDATES The high throughput |
wg = WorkGraph("hts_workflow") | ||
|
||
wg.add_task( | ||
run_opt_calc, name="opt_task", folder=folder_path, janus_opt_inputs=inputs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could this be generalised to take an arbitrary task using one of the function's parameters, so it wouldn't have to be hardcoded?
folder_path = Path("/home/federica/aiida-mlip/tests/workflows/structures/") | ||
inputs = { | ||
"model": ModelData.from_local( | ||
"/home/federica/aiida-mlip/tests/data/input_files/mace/mace_mp_small.model", | ||
architecture="mace_mp", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Paths should be generalised
ase = "^3.23.0" | ||
voluptuous = "^0.14" | ||
janus-core = "^v0.6.0b0" | ||
janus-core = "^v0.6.3b0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might need to pin or check compatibility with newer versions
# AT THE MOMENT WE ONLY CHECK THE PROCESS IS CREATED AT LEAST, | ||
# WHEN WE FIX THE SUBMISSION THIS NEEDS TO BE CHANGED | ||
|
||
assert wg.state == "CREATED" | ||
# wg_node = load_node(wg.pk) | ||
# assert isinstance(wg_node.outputs.opt_structures.h2o, StructureData) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This needs updating
"code": janus_code, | ||
} | ||
wg = HTSWorkGraph(folder_path=structure_folder2, inputs=inputs) | ||
wg.wait(15) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are there nicer ways of doing this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi! Thanks for the nice work and investigating the aiida-workgraph. I added a few small comments.
|
||
wg.to_html() | ||
|
||
wg.max_number_jobs = 10 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two small suggestions:
- set
max_number_jobs
as an input parameter. - Not ot submit the wg inside the function, but return the
wg
, and let the user runwg.submit()
. In this case, user can also modify the inputs of the tasks or other settings before submission.
|
||
wg.group_outputs = [{"name": "opt_structures", "from": "opt_task.final_structures"}] | ||
|
||
wg.to_html() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will this work in the notebook? if not, maybe delete this line.
wg.to_html() |
[tool.poetry.plugins."aiida.workflows"] | ||
"mlip.hts_wg" = "aiida_mlip.workflows.hts_workgraph:HTSWorkGraph" | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We are working on a new entry point for the WorkGraph. Will let you know the syntax when the API is fixed.
Still very messy, just making the PR so we can actually see the code when discussing.
Ignore the comments in the model file, will remove and use them to fix other issues.
I made a
WorkChain
for submitting high-throughput screening, but I am facing the problems described in #146I also added the submission script for submitting the actual
Workchain
(in examples/workflows)And a script to run high-throughput screening without writing a
WorkChain
. We might end up only keeping this? Depending on discussion on how to implement some things