Skip to content
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

loadCPUField segfaults with QUDA_ASQTAD_FAT_LINKS #52

Closed
jpfoley opened this issue Feb 16, 2012 · 5 comments
Closed

loadCPUField segfaults with QUDA_ASQTAD_FAT_LINKS #52

jpfoley opened this issue Feb 16, 2012 · 5 comments
Assignees
Labels

Comments

@jpfoley
Copy link
Member

jpfoley commented Feb 16, 2012

Not too troublesome, since you can get it to work by using QUDA_WILSON_LINKS instead. Still, it's inconsistent, and caused me a couple of hours of pain.

@gshi
Copy link
Member

gshi commented Feb 16, 2012

We probably need add QUDA_ASQTAD_SITE_LINKS, or other similar names, to indicate the normal links in staggered case.

@maddyscientist
Copy link
Member

Has this issue been resolved? I recall that there was name changes a few months back with the link types, but I don't know how that affected this issue.

@ghost ghost assigned jpfoley Jul 16, 2012
@ghost ghost assigned maddyscientist Aug 2, 2012
@maddyscientist
Copy link
Member

I cannot reproduce this error using the tests. I have played with the HISQ force tests and the staggered dslash tests, but setting to QUDA_ASQTAD_FAT_LINKS does not cause any seg faults. This bug may already been fixed inadvertently.

Justin, how did you reproduce this error? If it can't be reproduced, then we should close this.

@jpfoley
Copy link
Member Author

jpfoley commented Aug 9, 2012

I was seeing this in the MILC interface.
This may have been fixed in the meantime, but unbeknownst to me.
I will check this tonight, and if it's fixed we can close it.

Justin.

On 08/08/2012 05:59 PM, mikeaclark wrote:

I cannot reproduce this error using the tests. I have played with the
HISQ force tests and the staggered dslash tests, but setting to
QUDA_ASQTAD_FAT_LINKS does not cause any seg faults. This bug may
already been fixed inadvertently.

Justin, how did you reproduce this error? If it can't be reproduced,
then we should close this.


Reply to this email directly or view it on GitHub
#52 (comment).

@jpfoley
Copy link
Member Author

jpfoley commented Sep 4, 2012

Okay, I finally able to recreate the problem, and I see what's going on. This problem only pops up in the single-gpu interface code. Anyway, I was calling loadCPUField with QUDA_MILC_GAUGE_ORDER. This worked if I had QUDA_WILSON_LINKS. but failed with QUDA_ASQTAD_FATLINKS. I now see the problem is in lines 72 and 73 of cuda_gauge_field.cpp. Basically, if type == QUDA_ASQTAD_FAT_LINKS, fat_link_max, which is needed for half precision, is calculated. However, this calculation assumes QUDA_QDP_GAUGE_ORDER, hence the segmentation fault. Note that I am not actually using half precision but fat_link_max is calculated regardless. If type != QUDA_ASQTAD_FAT_LINKS, fat_link_max is not calculated and there is no requirement that the field use QUDA_QDP_GAUGER_ORDER. It's trivial to make this code more general and to make it so fat_link_max is only calculated if it is actually needed. I'll make the necessary changes to the code.

@jpfoley jpfoley closed this as completed Sep 4, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants