-
Notifications
You must be signed in to change notification settings - Fork 475
Multipole Potential Integrals with McMurchie-Davidson #2504
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
Conversation
Small benchmarkThe performance issues are resolved. 🎉 As in #2496, only for small basis set angular momentum, the old code is faster than M-D, but for larger basis set/angmom, M-D outperforms the OS code. Performed as in #2496. Here, the molecule is para-nitroaniline (typical example for EFP/PE 😄). Results
|
JonathonMisiewicz
left a comment
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.
A couple minor comments from me. I'd be happy to approve, but you're probably better off with reviews from Lori, Andy, and Jet.
loriab
left a comment
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.
Nice test! I'd consider myself a gray checkmark, but lgtm!
jturney
left a comment
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 good!
andysim
left a comment
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.
I will try to pull this and test with Intel compilers. We know that all files that include L2's engine.h need C++14 instead of C++17 with Intel, but it's possible that the real culprit is the downstream boys.h that you are using here. I don't think it is, but it's worth checking and an easy fix if it turns out to be the case.
zachglick
left a comment
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.
This is great!
Co-authored-by: Andy Simmonett <[email protected]>
andysim
left a comment
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.
Another fantastic effort! It's great to see negative lines of code, especially with so much new functionality. LGTM!
* multipole potential integrals with M-D * some loop unrolling * performance improvements * only zero out required parts of buffers * cleanup, remove unused vars, simplify cca comps * more cleanup, more eq numbers * reviews, back to std::fill, fix psi4#2499 * fixes for Intel * Update psi4/src/psi4/libmints/CMakeLists.txt Co-authored-by: Andy Simmonett <[email protected]> * more reviews Co-authored-by: Andy Simmonett <[email protected]>
* multipole potential integrals with M-D * some loop unrolling * performance improvements * only zero out required parts of buffers * cleanup, remove unused vars, simplify cca comps * more cleanup, more eq numbers * reviews, back to std::fill, fix psi4#2499 * fixes for Intel * Update psi4/src/psi4/libmints/CMakeLists.txt Co-authored-by: Andy Simmonett <[email protected]> * more reviews Co-authored-by: Andy Simmonett <[email protected]>
Description
This is the third PR of the McMurchie-Davidson series, now tackling
MultipolePotentialInt(used for PE/EFP).I'm not happy with the performance yet, so I'll do some profiling to see what could be improved.Todos
Blurb for the Release Notes
Checklist
Status