20617, "stonea", "Improve test coverage for all the different ways to fail to gpuize", "2022-09-02T19:05:43Z"
In this PR:
I addressed a nightly test failure that showed up in our gpu-gasnet configuration that (at least appears) to not have anything to do with multilocale settings or GASNET.
It would be nice if we had test coverage for all the different ways we could fail to GPUize in our "main" test suite.
Some of these failure modes have to do with pattern-matching code not matching the way we expect so it's somewhat difficult to come up with examples that will fail. At least for the "fail to match expected upper bound" pattern the PR mentioned above triggers it (so we know there's at least one way the Chapel compiler is able to produce code like that).
For the PR mentioned above the loop in question was coming from the following Chapel code:
[ (aa,bb) in zip(A, B) ] { ... }
But simply putting this with an assertOnGpu() isn't triggering the expected failure: so there must be some specific types for one of these variables or some other detail I'm missing.
I think test/gpu/native/assertOnFailToGpuize.chpl would be a good test to beef up to include all these different failure modes (as it contains a good set of them already).