Skip to content

Set recompute period in performance tests to once every QMC section#5248

Merged
ye-luo merged 3 commits into
QMCPACK:developfrom
prckent:recomputeperiod
Dec 3, 2024
Merged

Set recompute period in performance tests to once every QMC section#5248
ye-luo merged 3 commits into
QMCPACK:developfrom
prckent:recomputeperiod

Conversation

@prckent

@prckent prckent commented Dec 2, 2024

Copy link
Copy Markdown
Contributor

Proposed changes

Set the recompute periodic explicitly in the performance tests so that full & mixed precision builds do the same number of matrix inversions. (Mixed precision default is every block vs every 10 for full precision builds.) This changes addresses a couple of recent queries where the code has been profiled by users using the default settings.

Due to the few steps per block in the performance tests the existing settings result in a skew towards matrix inversion in profiles, performance analysis etc. In real/performance focused runs the number of steps per block would be larger than the e.g. 5 used for the DMC sections. A side effect is that some of the mixed precision performance tests will now show closer to real-world speedup.

Also added end of lines to a couple of the files for consistency.

What type(s) of changes does this code introduce?

  • Testing changes (e.g. new unit/integration/performance tests)

Does this introduce a breaking change?

  • Yes

New mixed precision results should not be compared to old mixed precision results in terms of overall runtime.

What systems has this change been tested on?

gcc14 mpi nightly configuration, sulfur.

Checklist

  • Yes. This PR is up to date with current the current state of 'develop'
  • NA. Code added or changed in the PR has been clang-formatted
  • NA. This PR adds tests to cover any new code, or to catch a bug that is being fixed
  • NA. Documentation has been added (if appropriate)

@ye-luo

ye-luo commented Dec 2, 2024

Copy link
Copy Markdown
Contributor

FYI. Just noticed that #4109 didn't touch batched drivers and the default for FP is 0.

@prckent

prckent commented Dec 3, 2024

Copy link
Copy Markdown
Contributor Author

Will update this PR based on our discussion (one recompute per QMC section) and then check the defaults today.

Good catch on 4109 -- it might explain a few of the oddities we have seen in large runs. Not all of them though.

@prckent

prckent commented Dec 3, 2024

Copy link
Copy Markdown
Contributor Author

Also updated the NiO README

@prckent prckent changed the title Set recompute period in performance tests to every 10 blocks Set recompute period in performance tests to once every QMC section Dec 3, 2024
@ye-luo

ye-luo commented Dec 3, 2024

Copy link
Copy Markdown
Contributor

Test this please

@ye-luo ye-luo enabled auto-merge December 3, 2024 18:26
@ye-luo ye-luo merged commit 27d7b6a into QMCPACK:develop Dec 3, 2024
@prckent prckent deleted the recomputeperiod branch January 14, 2026 14:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants