feat[cartesian]: DaCe optimal for/map schedule#2628
Conversation
… optimal parallel strategy
|
I think the failing gpu-tests are due to a cuda-codgen issue in DaCe. From what I understand, this test case triggers the codepath here which inserts a global grid sync into a merged kernel. The grid sync insertion in successful, but the We could work around by slightly changing the test scenario. |
twicki
left a comment
There was a problem hiding this comment.
Looks generally ok. @romanc and I quickly discussed that at some point the sequential concept that turns into loops should not have an (ignored) scheduleType anymore, but that can wait for a follow-up. Happy to merge this one as is
|
looks like the new test needs to mark test running on gpu to only run on gpu, e.g. pytest.param("dace:gpu", marks=[pytest.mark.requires_gpu]) |
|
cscs-ci run default |
|
cscs-ci run default |
Follow-up from PR GridTools#2628 in which we added a new test, but forgot to mark the dace-backends with `pytest.mark.requires_dace`.
Description
Reworked the based scheduling of the loops in OIR -> TreeIR to simplify the code and introduce an optimal scheduling for parallelism:
_resolve_loop_scheduleomp for parallelon CPU and plain kernel for CUDA)This should be covered by the current unit tests