-
Notifications
You must be signed in to change notification settings - Fork 418
-
Notifications
You must be signed in to change notification settings - Fork 418
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: "Malformed PRIM_GET_MEMBER" error for programs with forall over multi-dimensional domain #19981
Comments
I think @ShreyasKhandekar and I were seeing a version of this last week (?). |
I wouldn't be surprised. I think this will happen for any program that uses a Anyway, I'd consider this and the linker issues as our "high priority" GPU related bugs. |
This is erroring out at this
This occurs in a pass where we're trying to determine what variables in a loop we are "outlining" need to be passed in as parameters to the outlined function. Running it through my sample I see that when we hit that assertion
And we're not expecting to see a I'm not sure exactly how to read this IR. I'm guessing something like this?:
In which case we would want to add Assuming this is the case I think the fix is to change: else if (symExpr == parent->get(1)) {
addKernelArgument(sym);
} to: else if (symExpr == parent->get(1) ||
(parent->numActuals() >= 3 && symExpr == parent->get(3))) {
addKernelArgument(sym);
} If I do this the next issue I encounter is a segfault later on with the following Stack trace:
Looking at I think this brings up broader questions about how should we handle the following (and indeed I'll get the same segfault and stack trace compiling this program): var A : [0..10] int;
foreach i = 0..10 {
foreach j = 0..10 {
A(i) = i * 100 + j;
}
} |
With the submission of this PR: #20561 This is now resolved. We have have the new behavior locked down by this test: https://github.com/chapel-lang/chapel/blob/main/test/gpu/native/nestedForall.chpl Note, we don't currently support nested |
If I set
CHPL_LOCALE_MODEL=gpu
and compile a program that has any of the followingforall
loops it will produce this compile-time error:The text was updated successfully, but these errors were encountered: