Skip to content

ci: Initial pass at GPU testing for cutile-rs - #1607

Draft
assignUser wants to merge 7 commits into
NVIDIA:mainfrom
assignUser:ci/cutile-gpu-ci
Draft

assignUser wants to merge 7 commits into
NVIDIA:mainfrom
assignUser:ci/cutile-gpu-ci

Conversation

@assignUser

Copy link
Copy Markdown
Contributor

Summary

Changes

Testing

  • just -f cuda-oxide/Justfile check passes (the local mirror of CI: fmt, clippy, tests, guards, docs)
  • cargo oxide run <example> passes, or cuda-oxide/scripts/smoketest.sh -o '^<example>$'
  • New example added (if applicable)

Checklist

  • All commits signed off (git commit -s)
  • SPDX headers on new source files

Questions about the review? Ping us in #contributors on Discord.

@copy-pr-bot

copy-pr-bot Bot commented Oct 22, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@assignUser

Copy link
Copy Markdown
Contributor Author

/ok to test 041e338

@assignUser

Copy link
Copy Markdown
Contributor Author

/ok to test 7a50fa8

@assignUser

Copy link
Copy Markdown
Contributor Author

/ok to test fcac53a

@assignUser

Copy link
Copy Markdown
Contributor Author

/ok to test 495ff7e

@assignUser

Copy link
Copy Markdown
Contributor Author

/ok to test fd7cf70

1 similar comment
@assignUser

Copy link
Copy Markdown
Contributor Author

/ok to test fd7cf70

@assignUser

Copy link
Copy Markdown
Contributor Author

/ok to test 8454bb6

@assignUser assignUser mentioned this pull request Oct 22, 2026
@assignUser

Copy link
Copy Markdown
Contributor Author

/ok to test 8454bb6

@assignUser

assignUser commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor Author

/ok to test 063b3a8

1 similar comment
@assignUser

Copy link
Copy Markdown
Contributor Author

/ok to test 063b3a8

Signed-off-by: Jacob Wujciak-Jens <[email protected]>
Signed-off-by: Jacob Wujciak-Jens <[email protected]>
@assignUser

Copy link
Copy Markdown
Contributor Author

/ok to test ba76459

@cryos cryos left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are a few minor things I pointed out inline that would be nice to improve. I think this looks good. A follow up would be to generalize a little more, add a matrix for more GPUs but I think getting this merged first would be best.

path: ${{ runner.temp }}/cutile-gpu-tests.tar
if-no-files-found: error
compression-level: 0 # The nested nextest archives are already compressed.
retention-days: 7

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We might want to reduce this to 1 day, we can easily rebuild.

- name: Upload runtime test packages
uses: actions/upload-artifact@v4
with:
name: cutile-gpu-tests

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we need it now, but consider adding OS and CPU architecture.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, if we make a matrix that will be necessary. Otherwise there will be clobbering 🔨

runs-on: linux-amd64-gpu-rtxpro6000-latest-1
timeout-minutes: 30
container:
image: nvidia/cuda:13.3.0-devel-ubuntu24.04

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe this has changed, but it wouldn't hurt to keep for now:

      env:
        NVIDIA_VISIBLE_DEVICES: ${{ env.NVIDIA_VISIBLE_DEVICES }}

for the container env. I checked and it has in fact changed. Where we see this we should actively remove it - it won't hurt but extra lines being carried around that are no longer needed.

nvidia-smi
"$CUTILE_TILEIRAS_PATH" --version

# Mirror scripts/run_gpu_tests.sh's runtime selection. Archive mode uses

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if there is a neater way to do this using the script too, perhaps not but it is a concern that they get out of sync.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had this thought as well but just wanted to see if everything runs through for now

- name: Submission lifetime tests (default, reactor, spin)
run: |
for budget in default 0 200000; do
echo "CUDA_ASYNC_SPIN_BUDGET_US=$budget"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should prefer {} for bash variables too, I usually just ask Codex to add them to bash variable expansion.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think that's really necessary if you have nothing directly following the variable like here but if thats the preference 🤷

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants