-
Notifications
You must be signed in to change notification settings - Fork 85
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 issue with SCS_SHIFTED_GRAD_OP and SCS_GRAD_OP #1302
Comments
Of course this looks fine with a Release build... The above was a Debug build. |
Marc, my initial thought was that there is a missing 'field.sync_to_host()' somewhere, which would explain why the 'hostCalcValue' might be zero when it is expected to be non-zero. |
Hi Alan, thanks for getting back to me so quickly. I will add the check you suggest. |
@alanw0 I tried implementing the check but the places where this breaks don't have a The problem really is that I am not familiar with these master element views and I am worried that somehow |
One thing that worries me is that any of these tests for these master element views are ifdefed out on GPU: https://github.com/Exawind/nalu-wind/blob/master/unit_tests/UnitTestKokkosME.C#L296. It looks like that was done by you @alanw0 in 111af20. So maybe they are buggy? But I can't see why |
Memories are fuzzy, but as I recall we originally had a bunch of code that wouldn't work on GPU, and we gradually started converting it. At some point we did this ifdef'ing to guard the not-yet-converted code, and then we down-selected to only convert the code/algorithms that were specifically needed for the challenge problems, as time ran short. |
I'm going to tag James Overfelt, who was the master-element expert. @overfelt |
I think these unit tests at one time compared the results of the old CPU only (Fortran based) master element functions to the newer CPU/GPU callable implementations. With the last refactor to get rid of all of the Fortran code these tests could be deleted. |
@overfelt thank you. Do you see anything in the implementation of SCS_SHIFTED_GRAD_OP and SCS_GRAD_OP that would explain the behavior I am seeing here: #1302 (comment) |
The code looks fine to me. It is odd that most of the computed arrays are correct and only one is all zeros. Do you happen to know the value of |
yes, it is true for one test, false for the other. Both fail. |
Fixed in #1317 |
I am having an issue with the following unit tests
./unittestX --gtest_filter="WallDistKernelHex8Mesh.NGP_wall_dist*"
They are throwing:
In digging further it appears that
v_dndx(ip, ic, j)
here is zero (v_scs_areav(ip, j)
is non-zero). Why is that?v_dndx
comes fromconst auto& v_dndx = shiftPoisson_ ? meViews.dndx_shifted : meViews.dndx;
, which should be defined byBut why would those be zero? This test seems fine on CPU.
I did fix a (minor) thing in the way the
expect_all_near
was being called. But that's not the issue. See PR #1301.Tagging @psakievich, @rcknaus and @alanw0 as people who might know what's going on.
The text was updated successfully, but these errors were encountered: