-
|
I'd like to ensure that Numba-CUDA changes don't break Awkward Array by having a CI job that tests Awkward with Numba-CUDA PR branches (and release tags). I'm not sure about the best way to go about doing this - I'd like to avoid building Awkward in CI if I can, and use the latest release, but I think I might need the source repo as well for the tests. So far I have a locally-tried flow that works like: For a CI flow I think it'd be a bit fiddly but I could get it to check out the right tag for the installed awkward version, but I wonder if there's a better way? Are there some improvements that can be made on the above steps? Many thanks in advance! |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 7 replies
-
|
Hi Graham, that proposal sounds good to me. There's also some auto-generated tests that you can use. If you run So it could be something like this mamba create -n awkward-test python=3.13 awkward cupy numba-cuda pyarrow pandas nox
git clone --recursive [email protected]:scikit-hep/awkward.git
cd awkward
git checkout <version of awkward that was installed by mamba>
nox -s prepare -- --tests
pytest -n auto tests-cuda/ tests-cuda-kernels/ tests-cuda-kernels-explicit/ |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the help here! I have this set up now, but I'm finding that one test seems to sometimes (mostly) fail: In the runs where this test passed, it was skipped with the message "Unable to generate any tests for kernel". Can you suggest what I should look at to track down why this is happening please? Or, can this test just be skipped? I think the test is not related to Numba-CUDA so I think it might be OK to skip anyway, but I'm not sure how to control that. If it adds any useful context:
(In the "bad" run, I was also attempting to fix some other failures by downgrading to CuPy 13.4, which seems to have helped with every other failure. But I note the "good" run also passed with 13.6, so I'm not sure what's going on there. But I think that may be tangential to the specific test above) |
Beta Was this translation helpful? Give feedback.
-
|
@gmarkall - Thanks for setting it up! I think, the failing test is due to our (most probably buggy) kernel code src/awkward/_connect/cuda/cuda_kernels/awkward_RecordArray_reduce_nonlocal_outoffsets_64.cu |
Beta Was this translation helpful? Give feedback.
-
|
Many thanks for clarifying this! I'll see if I can get it to skip that test. Is there a way I should be invoking |
Beta Was this translation helpful? Give feedback.
-
|
It looks like patching out the the generation of that particular test worked. Can I check - does (from https://github.com/NVIDIA/numba-cuda/actions/runs/19648199281/job/56269593457?pr=607) |
Beta Was this translation helpful? Give feedback.
Hi Graham, that proposal sounds good to me.
There's also some auto-generated tests that you can use. If you run
nox -s prepare -- --testsit will generate tests in thetests-cuda-kernelsandtests-cuda-kernels-explicitdirectories.So it could be something like this