-
Notifications
You must be signed in to change notification settings - Fork 414
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
Using c_ptrTo makes loop not GPUizable: calls out to extern function 'chpl_rmem_consist_release' #22151
Comments
I wonder what is causing that? Do you know why |
Not that this explains why we're getting a use GPU;
proc main() {
on here.gpus[0] {
var A : [0..0] real(32);
foreach i in 0..0 {
assertOnGpu();
A.domain;
}
}
} And I still get the error about calling out to the |
While this is not perfectly satisfying, the issue is how FWIW, |
Yes exactly. I have a suspicion this may be due to the use of |
I haven't dug that deep, but that definitely makes sense. A question that's not directly related to this issue in particular is: why do |
I do not remember why it is that |
I've forked a new issue to follow up on this that's more focused on using |
I have the following program that calls out to an extern function from within what should be a GPUizable loop:
Unfortunately, when I try to compile this I get the following error:
This seems to occur when using
c_ptrTo
from within the loop. I can workaround this fairly easily by addingvar cPtrToA = c_ptrTo(A);
outside the loop and then usingcPtrToA
in place ofc_ptrTo(A)
but it would be preferable if we didn't have to do that.The text was updated successfully, but these errors were encountered: