-
Notifications
You must be signed in to change notification settings - Fork 138
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
GPU CUDA delayed updates #1279
Merged
Merged
GPU CUDA delayed updates #1279
Changes from 9 commits
Commits
Show all changes
33 commits
Select commit
Hold shift + click to select a range
7ca8750
First implementation of delayed updates into VMC_CUDA. Both w/ and w/…
85af24f
Compile fix for GCC on SummitDev/Summit and optimization of calc_lemm…
0596d39
Added output in the case a user chooses a negative k for the delayed …
ba41772
Replaced second smw_update call with small addon to update_onemove ke…
145bee1
Merge remote-tracking branch 'upstream/develop' into delayed_updates
b5cf582
Minor bugfixes caused by incomplete merge with new/renamed files (AoS…
9349e94
Added DMC functionality.
d6368ec
Slight performance update for GPU delayed updates code.
20892cc
Fix the compilation of GPU real.
ye-luo 43a6560
Fixed hamiltonian unit test failure.
245438b
First implementation of complex GPU delayed updates code path.
1757bf2
Bugfix for complex code path. Things are working now.
0cb4d5f
Fix compile issues for slightly older CUDA version (i.e. on Rhea).
d5e984d
Minor compile fix.
e82c929
Moved delayed update routines into QMCWaveFunctions/Fermion/delayed_u…
d59cec9
Implemented pass-through of Ye's delay_rank parameter to my code path.
b39bd00
Compile fix.
ab6f5e3
Minor bugfix.
a9ff651
Revert to original cmake files and fix minor bug in DiracDeterminantC…
f849398
Merge branch 'develop' of https://github.com/QMCPACK/qmcpack into del…
aefab61
Fix merge issue which caused tests to fail.
29c9a0c
Fix drift case when delay rank not an integer fraction of electron nu…
3cbd58a
Code should be feature complete now as the last TODO (nat/2 use in MC…
17b7bdc
Removed resolved TODO comments.
c68fe6a
Cleaned up code and fixed bug of sometimes not properly initialized l…
5f279c4
Reverted changed files in utils directory back to original versions.
a5c369a
Fix complex compile bug.
49b908b
Added pivot table to cublas inverse to improve delayed update stabili…
13cf03e
Fixed numerical instability and improved performance for VMC w/o drift.
9f21534
Added missing synchronization before lemma matrix calculation.
004c09f
Added warning to cap GPU delayed updates at k = 64 for VMC w/ drift d…
7bda6a2
Fixed VMC w/o drift error for larger delay ranks. Removed cap and war…
55d6e47
Merge branch 'develop' into delayed_updates
ye-luo File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
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.
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.
cuda_inverse.h/cu is for matrix inversion.
cublas_lemma_mats, cublas_ainv_row, cublas_smw_update are not generic wrapper functions of cublas.
Please move them to src/QMCWaveFunctions/Fermion
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.
No production code should be in sandbox. Put distinct functionality in different files or simply rename the cuda_inverse.h file e.g. cuda_matrices.h
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.
The path I put previously was wrong. It was just my local path. Functions under Numerics should not be only used a specific algorithm. So cuda_matrices.h is not good. Please create a new set of .h and .cu file under src/QMCWaveFunctions/Fermion.
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.
OK
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.
@ye-luo @prckent Done.