-
Notifications
You must be signed in to change notification settings - Fork 99
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
Add support for an alternative inverter stopping criterion th more suitable for heavy quarks. #80
Comments
The only question is how we select this. Will this be another option we to QudaInvertParam? I have been mucking around with the solvers, so please hold off doing merging this until I have merged (today or tomorrow). This email message is for the sole use of the intended recipient(s) and may contain reply email and destroy all copies of the original message. |
QudaInvertParam seems to be the path of least resistance. Unfortunately, it's already pretty crowded. I guess eventually you'll want to try to factorise the data in there. I won't touch anything until you've merged your changes. I'm always happy not to do stuff :P. |
For what solvers do you need this? For all of CG, multi-shift CG and BiCGstab? |
Ideally, yes, CG, multi-shift CG and for the clover inverter, which is Justin. On 09/12/2012 10:33 AM, mikeaclark wrote:
|
ok, merging the heavyquark into multishift branch at the moment. Then we can add support for multishift CG and BiCGstab. |
Ok, I have merged the heavyquark branch into the multishift branch. The heavy quark residual stopping condition is now supported in both BiCGstab and CG for whatever fermion action you throw at it. It's not optimal yet because:
If sub-performant HQ residual in CG and BiCGstab are good enough, I'm happy to sign off on this and close the issue. We can have a future issue to optimize this. Refer to commit ff1d197 (ignore the warnings in the commit message, I removed the merge conflicts). |
This is now merged into master with commit 3b21a83. |
This issue is closed by commit 435592b. This is high-performance, and supports all fermion types and solver types. The only exception is the multi-shift solver, which only supports staggered fermions at the refinement stage. Note new the new parameter tol_hq_offset[QUDA_MAX_MULTI_SHIFT] which is used to set the heavy quark residual stopping value for the refinement stage. |
For reference I note that commit f7bd771 added support for refinement for Wilson. |
This was already mentioned as part of another issue, which has since been closed. Basically, most of the necessary code modifications have already been implemented in a side branch. That code requires a just a few tweaks before it can be merged with the master branch. This is something MILC has been looking for for a while, and there doesn't seem to be any reason not to include it in the next release.
The text was updated successfully, but these errors were encountered: