Skip to content
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

Merged
merged 39 commits into from
Jan 20, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
229727a
initial work
lmseidler Jan 14, 2025
0069a6e
new parallelization preliminary done
lmseidler Jan 15, 2025
0534777
small fix in tests
lmseidler Jan 15, 2025
ef08fe5
commented unnecessary code
lmseidler Jan 15, 2025
872fd2e
updated construction sites
lmseidler Jan 15, 2025
e2b0a51
hopefully fixed parallelization
lmseidler Jan 16, 2025
3383173
small test fix
lmseidler Jan 16, 2025
6e87a19
initial work
lmseidler Jan 14, 2025
832f0ed
new parallelization preliminary done
lmseidler Jan 15, 2025
f4c02a8
small fix in tests
lmseidler Jan 15, 2025
42c3c41
commented unnecessary code
lmseidler Jan 15, 2025
b49b3f8
updated construction sites
lmseidler Jan 15, 2025
c27dcae
hopefully fixed parallelization
lmseidler Jan 16, 2025
5183a62
small test fix
lmseidler Jan 16, 2025
42fcfca
Merge pull request #1 from lmseidler/parallel
lmseidler Jan 16, 2025
a65637f
only print when verbosity > 0, otherwise nothing is printed (bad)
lmseidler Jan 16, 2025
256159c
pre-commit fixes
lmseidler Jan 16, 2025
f62ef53
added ncores to config + implemented setting ncores for external prog…
lmseidler Jan 17, 2025
c92cedc
fixed tests
lmseidler Jan 17, 2025
7ab2873
added check for number of cores available vs needed
lmseidler Jan 17, 2025
8494ba9
pre-commit
lmseidler Jan 17, 2025
c8df9b1
test fix
lmseidler Jan 17, 2025
47b9acc
Merge branch 'main' into main
lmseidler Jan 17, 2025
57b6001
fixed tm implementation
lmseidler Jan 17, 2025
c0a7855
updated main.py
lmseidler Jan 17, 2025
493b92c
tqdm progress bar
lmseidler Jan 17, 2025
7da10e4
updated dependencies
lmseidler Jan 17, 2025
6230638
mypy types import
lmseidler Jan 17, 2025
6d44b51
moved warnings in correct bracket
lmseidler Jan 17, 2025
4bdff32
updated default config toml
lmseidler Jan 17, 2025
47dd514
added final output of molecules and timing
lmseidler Jan 17, 2025
bdb0c6d
fixed time
lmseidler Jan 17, 2025
c2ac8c9
better time info
lmseidler Jan 17, 2025
5073821
print formatting
lmseidler Jan 17, 2025
c30e162
shift block setup to parallel.py
marcelmbn Jan 19, 2025
22d7f80
avoid UnboundLocalError
marcelmbn Jan 19, 2025
679d094
some code formatting and printout adjustments
marcelmbn Jan 19, 2025
d8b3e46
shifted CHANGELOG entry to correct position
marcelmbn Jan 19, 2025
6ecc996
update CODEOWNERS file
marcelmbn Jan 19, 2025
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
8 changes: 4 additions & 4 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# These owners will be the default owners for everything in
# the repo. Unless a later match takes precedence,
# @marcelmbn and @thfroitzheim will be requested for
# the names mentioned after the '*' will be requested for
# review when someone opens a pull request.
* @marcelmbn @jonathan-schoeps

# These parts are specifically owned by some people
/src/mindlessgen/cli @marcelmbn
/src/mindlessgen/generator @marcelmbn
/src/mindlessgen/generator @marcelmbn @lmseidler
/src/mindlessgen/molecules @marcelmbn @jonathan-schoeps
/src/mindlessgen/prog @marcelmbn @jonathan-schoeps
/src/mindlessgen/qm @marcelmbn
/src/mindlessgen/prog @marcelmbn @jonathan-schoeps @lmseidler
/src/mindlessgen/qm @marcelmbn @jonathan-schoeps
5 changes: 4 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- to set the elemental composition it is now possible to use dicts with not only int but also the element symbols (str)
- dict keys for elemental compositions will now always be checked for validity
- Renamed GP3-xTB to g-xTB
- Nothing will be printed while multiple molecules are generated in parallel, tqdm-based progress bar instead
- Some debugging statements from generate had to be removed (esp. w.r.t. early stopping)

### Added
- `GXTBConfig` class for the g-xTB method, supporting SCF cycles check
- support for TURBOMOLE as QM engine.
- updated the parallelization to work over the number of molecules

### Fixed
- version string is now correctly formatted and printed
Expand Down Expand Up @@ -45,7 +49,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- support for `python-3.13`
- option to set a fixed molecular charge, while ensuring `uhf = 0`
- `element_composition` and `forbidden_elements` can now be directly set to a `dict` or `list`, respectively, via API access
- support for TURBOMOLE as QM engine.

### Breaking Changes
- Removal of the `dist_threshold` flag and in the `-toml` file.
Expand Down
1 change: 1 addition & 0 deletions environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,6 @@ dependencies:
- pre-commit
- pytest
- tox
- tqdm
- pip:
- covdefaults
4 changes: 4 additions & 0 deletions mindlessgen.toml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ hlgap = 0.5
# > Debug this step. Leads to more verbose output as soon as the refinement part is reached. Options: <bool>
# > If `debug` is true, the process is terminated after the first (successful or not) refinement step.
debug = false
# > Number of cores to be used for geometry optimizations. Single-points will continue to use one core each.
ncores = 4

[postprocess]
# > Engine for the post-processing part. Options: 'xtb', 'orca', 'turbomole'
Expand All @@ -70,6 +72,8 @@ opt_cycles = 5
# > If `debug` is true, the process is terminated after the first (successful or not) post-processing step.
# > Note: This option is only relevant if the 'postprocess' option in the 'general' section is set to 'true'.
debug = false
# > Number of cores to be used for both single-point calculations and geometry optimizations.
ncores = 4

[xtb]
# > Path to the xtb executable. The names `xtb` and `xtb_dev` are automatically searched for. Options: <str | Path>
Expand Down
3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ classifiers = [
"Topic :: Scientific/Engineering",
"Typing :: Typed",
]
dependencies = ["numpy", "networkx", "toml"]
dependencies = ["numpy", "networkx", "toml", "tqdm"]
dynamic = ["version"]

[project.urls]
Expand All @@ -41,6 +41,7 @@ dev = [
"tox",
"setuptools_scm>=8",
"types-toml",
"types-tqdm",
]

[project.scripts]
Expand Down
Loading
Loading