Third order projection progress tracker #158
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation:
In a recent commit pulled to main, the logging information was removed from the third order projections. However, these projections make up the bulk of CPU hours used when running heat transport simulations with kALDo. Therefore, logging the progress of these projections allows users to benchmark performance and predict CPU requirements for a given calculation.
Solution:
I reimplemented the progress logging in its original form in two commits (in project_crystal and project_amorphous) I then added two commits that improved the readability of the loggers by using formatted string literals which also reduces the number of function calls.
- function call removed: np.round()
I also added logic to only output this information every 200 modes in the amorphous (consistent with the frequency of the old logger in the project_crystal function) at the cost of one boolean evaluation per mode, but saving two logging calls on the 199 other passes.
Commit that removed the logger SHA: 925eda3 link
Merged in PR #147