-
Notifications
You must be signed in to change notification settings - Fork 4
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
New parallelization #108
New parallelization #108
Conversation
lmseidler
commented
Jan 16, 2025
- added a parallelization mechanic where the task of generating a molecule is assigned to a group of CPUs
- the initial step for generating a molecule is now always a xtb single-point calculation, if that succeeds we go ahead as before
- refinement and postprocessing now use 4 cores instead of 1, the xtb single-points still use 1
- printing is basically disabled as soon as parallelization is taking place over multiple groups of CPUs (new system required)
There are still some simple errors observed by the linter. In your local environment, you could also do
to check for such errors beforehand. |
Some questions/feedbackParallelization over
|
somehow in my last commit a lot of changes went out of the window, I have to revert some commits to get everything back to how it should be first |
And a general comment: Have you already checked if simple |
i'm gonna look into this now to replace the whole printer thread thing |
This entry [project.optional-dependencies]
dev = [
"ruff==0.5.7",
"mypy",
"covdefaults",
"coverage",
"pre-commit",
"pytest",
"tox",
"setuptools_scm>=8",
"types-toml",
] in |
Have you seen that one? |
Looks way better now already! 🎉 Currently, the output stops with
Do you think there's a possibility to print the names of the molecules that were found in the very end? |
Quick note on the following comment in l. 236 of elif optimized_molecule is None:
# TODO: will this conflict with progress bar?
warnings.warn(
"Molecule generation including optimization (and postprocessing) "
+ f"failed for all cycles for molecule {molcount + 1}."
) Yes, it does kinda interact with the
|
Signed-off-by: Marcel Müller <[email protected]>
Signed-off-by: Marcel Müller <[email protected]>
I've just added some minor changes and adjustments. From my side, the PR is ready to merge and I will approve the changes now. Before merging:Please go through the changes I've introduced in addition to your commits. If you agree on them, just merge the PR. 🙂 |
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.
Looks great! Thank you for making mindlessgen
a lot better!
Signed-off-by: Marcel Müller <[email protected]>
@jonathan-schoeps Just noticed that you've introduced the TM support entry in |
Signed-off-by: Marcel Müller <[email protected]>
* initial work * new parallelization preliminary done * small fix in tests * commented unnecessary code * updated construction sites * hopefully fixed parallelization * small test fix * initial work * new parallelization preliminary done * small fix in tests * commented unnecessary code * updated construction sites * hopefully fixed parallelization * small test fix * only print when verbosity > 0, otherwise nothing is printed (bad) * pre-commit fixes * added ncores to config + implemented setting ncores for external programs * fixed tests * added check for number of cores available vs needed * pre-commit * Added support for Turbomole (#101) * Interface for the qm program turbomole Signed-off-by: Jonathan Schöps <[email protected]> * support for turbomole Signed-off-by: Jonathan Schöps <[email protected]> * corrected some typos Signed-off-by: Jonathan Schöps <[email protected]> * changed the PARNODES command Signed-off-by: Jonathan Schöps <[email protected]> * coord handling Signed-off-by: Jonathan Schöps <[email protected]> * requestet changes are build in Signed-off-by: Jonathan Schöps <[email protected]> * Implementation of the requested changes and the test of the read_mol_from_coord function Signed-off-by: Jonathan Schöps <[email protected]> * Implementation of two pathes for turbomole Signed-off-by: Jonathan Schöps <[email protected]> * Ignore HOMO-LUMO gap not implemented as refine engine for Orca and Trubomole Signed-off-by: Jonathan Schöps <[email protected]> * improve TURBOMOLE configuration Signed-off-by: Marcel Müller <[email protected]> * correct linting errors Signed-off-by: Marcel Mueller <[email protected]> * exclude more recent interfaces from coverage check Signed-off-by: Marcel Müller <[email protected]> * added a test for the 'write_coord_to_file' function Signed-off-by: Jonathan Schöps <[email protected]> * sync the lokal branch with the remote branch Signed-off-by: Jonathan Schöps <[email protected]> --------- Signed-off-by: Jonathan Schöps <[email protected]> Signed-off-by: Marcel Müller <[email protected]> Signed-off-by: Marcel Mueller <[email protected]> Co-authored-by: Marcel Müller <[email protected]> * test fix * fixed tm implementation * updated main.py * tqdm progress bar * updated dependencies * mypy types import * moved warnings in correct bracket * updated default config toml * added final output of molecules and timing * fixed time * better time info * print formatting * shift block setup to parallel.py Signed-off-by: Marcel Müller <[email protected]> * avoid UnboundLocalError Signed-off-by: Marcel Müller <[email protected]> * some code formatting and printout adjustments Signed-off-by: Marcel Müller <[email protected]> * shifted CHANGELOG entry to correct position Signed-off-by: Marcel Müller <[email protected]> * update CODEOWNERS file Signed-off-by: Marcel Müller <[email protected]> * New parallelization (#108) * initial work * new parallelization preliminary done * small fix in tests * commented unnecessary code * updated construction sites * hopefully fixed parallelization * small test fix * initial work * new parallelization preliminary done * small fix in tests * commented unnecessary code * updated construction sites * hopefully fixed parallelization * small test fix * only print when verbosity > 0, otherwise nothing is printed (bad) * pre-commit fixes * added ncores to config + implemented setting ncores for external programs * fixed tests * added check for number of cores available vs needed * pre-commit * test fix * fixed tm implementation * updated main.py * tqdm progress bar * updated dependencies * mypy types import * moved warnings in correct bracket * updated default config toml * added final output of molecules and timing * fixed time * better time info * print formatting * shift block setup to parallel.py Signed-off-by: Marcel Müller <[email protected]> * avoid UnboundLocalError Signed-off-by: Marcel Müller <[email protected]> * some code formatting and printout adjustments Signed-off-by: Marcel Müller <[email protected]> * shifted CHANGELOG entry to correct position Signed-off-by: Marcel Müller <[email protected]> * update CODEOWNERS file Signed-off-by: Marcel Müller <[email protected]> --------- Signed-off-by: Marcel Müller <[email protected]> Co-authored-by: Marcel Müller <[email protected]> * add IP/EA check with g-xTB for special purpose dev application only Signed-off-by: Marcel Müller <[email protected]> * rename gp3 to gxtb consistently Signed-off-by: Marcel Müller <[email protected]> * add simple SCF cycles check for molecule Signed-off-by: Marcel Mueller <[email protected]> * align variable names with g-xTB Signed-off-by: Marcel Mueller <[email protected]> * config is now loaded in dev mode; avoid redundant calculations Signed-off-by: Marcel Mueller <[email protected]> * hand over correct config and remove redundant config Signed-off-by: Marcel Mueller <[email protected]> * remove last rememnant of config for SCF cycles with g-xTB Signed-off-by: Marcel Mueller <[email protected]> * added ncores to gxtb calls * remove redundant config entry Signed-off-by: Marcel Mueller <[email protected]> --------- Signed-off-by: Jonathan Schöps <[email protected]> Signed-off-by: Marcel Müller <[email protected]> Signed-off-by: Marcel Mueller <[email protected]> Co-authored-by: Jonathan Schöps <[email protected]> Co-authored-by: Marcel Müller <[email protected]>