Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Add OMP parallelization for cusp correction #1643
Add timers for cusp correction.
Parallelize over both the MO's and centers.
The diff view is more complicated that necessary because of an indentation change to a large section of code from adding the pragma omp parallel scope. The changes in body should be
In theory, targetPtcl and sourcePtcl could be declared firstprivate and the compiler should use the copy constructor to generate the private versions. Works with clang, but causes an internal compiler error with Intel 184.108.40.206.
The MO and center loops are interchanged again. In theory splitting the MO's into eta and phi only needs to be done once per center. By putting the MO loop on the inside, hopefully some data might still be in cache when doing the same split again. The time spent splitting into eta and phi isn't enough to be worth any more complicated scheme to avoid recomputing it.
PDoakORNL left a comment
At minimum of more documentation, use const, do not log from multiple threads and profile at the same time.
Does the cache argument combined with dynamic scheduling really make sense?