Skip to content

Conversation

@trxcllnt
Copy link
Member

@trxcllnt trxcllnt commented Dec 18, 2025

Use the rapidsai/sccache fork in CI because it supports caching fatbins and ltoir.

Closes #673

@copy-pr-bot
Copy link

copy-pr-bot bot commented Dec 18, 2025

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

Contributors can view more details about this message here.

@trxcllnt
Copy link
Member Author

/ok to test 2f01dd6

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Dec 18, 2025

Greptile Summary

This PR switches from Mozilla's sccache to the RAPIDS fork to enable caching for CUDA fatbin and ltoir compilation outputs. The changes properly configure the RAPIDS sccache binary installation, enable preprocessor cache mode for better caching, and update the Makefile to use sccache for previously excluded compilation targets (fatbin and ltoir). The environment variable configuration has been updated to use GHA cache backend instead of disk-based caching.

  • Replaces mozilla-actions/sccache-action with manual installation of rapidsai/sccache from latest release
  • Adds SCCACHE_GHA_USE_PREPROCESSOR_CACHE_MODE=true to enable preprocessor caching feature
  • Updates environment variable exports to include all required GHA cache variables with fallbacks
  • Enables sccache for fatbin and ltoir nvcc targets in Makefile (lines 65, 68, 80, 99, 102, 114)
  • Removes disk-based cache configuration in favor of GHA cache backend
  • Changes stats command to --show-adv-stats for more detailed cache statistics
  • Upgrades actions/github-script from v7 to v8

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk
  • The changes are well-structured and address a specific issue (CI: Switch to use RAPIDSAI/sccache? #673) by switching to the RAPIDS sccache fork. The implementation correctly handles the binary installation, environment variable configuration, and Makefile updates. All changes align with the stated goal of enabling fatbin/ltoir caching support.
  • No files require special attention

Important Files Changed

Filename Overview
.github/workflows/build-wheel.yml Replaced mozilla-actions/sccache-action with manual installation of rapidsai/sccache, added preprocessor cache mode, updated env vars handling, and changed stats command to --show-adv-stats
testing/Makefile Enabled sccache for fatbin and ltoir compilation targets, which were previously excluded due to upstream sccache limitations
ci/tools/env-vars Removed disk-based cache configuration (SCCACHE_DIR and SCCACHE_CACHE_SIZE), switching to GHA cache backend

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Additional Comments (1)

  1. testing/Makefile, line 34 (link)

    style: Outdated comment - the RapidsAI fork now supports fatbin and ltoir

2 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

@trxcllnt
Copy link
Member Author

/ok to test 3c9bde4

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Additional Comments (1)

  1. testing/Makefile, line 34 (link)

    syntax: outdated comment - rapidsai/sccache now supports fatbin and ltoir

2 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

@trxcllnt
Copy link
Member Author

/ok to test 24a7700

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Additional Comments (2)

  1. .github/workflows/build-wheel.yml, line 50 (link)

    style: using /releases/latest/ could lead to unexpected behavior if the latest release introduces breaking changes

  2. .github/workflows/build-wheel.yml, line 102-110 (link)

    style: removed SCCACHE_DIR and SCCACHE_CACHE_SIZE env vars from the cibuildwheel environment

    The ci/tools/env-vars script still sets these in GITHUB_ENV (lines 40-41), but they're no longer passed to the cibuildwheel container. Verify sccache will use defaults or if these need to be passed through.

2 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

@trxcllnt
Copy link
Member Author

/ok to test e7d29c0

@trxcllnt
Copy link
Member Author

/ok to test b1760f2

@trxcllnt trxcllnt force-pushed the fea/use-rapidsai-sccache branch from aaf40ba to e5e6799 Compare December 18, 2025 06:05
@trxcllnt
Copy link
Member Author

/ok to test e5e6799

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Additional Comments (2)

  1. .github/workflows/build-wheel.yml, line 50-51 (link)

    syntax: Remove the second -x flag before the wildcard pattern. The -x is already specified in -xvzf, and the second one is invalid syntax.

  2. .github/workflows/build-wheel.yml, line 166-167 (link)

    syntax: Same issue: remove the second -x flag before the wildcard pattern.

3 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

@trxcllnt
Copy link
Member Author

/ok to test 95962f5

@trxcllnt trxcllnt force-pushed the fea/use-rapidsai-sccache branch from 95962f5 to d74dc10 Compare December 18, 2025 06:35
@trxcllnt
Copy link
Member Author

/ok to test d74dc10

@gmarkall gmarkall added the 3 - Ready for Review Ready for review by team label Dec 18, 2025
Copy link
Contributor

@cpcloud cpcloud left a comment

Choose a reason for hiding this comment

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

LGTM

@cpcloud cpcloud merged commit a66695c into NVIDIA:main Dec 18, 2025
121 checks passed
@trxcllnt trxcllnt deleted the fea/use-rapidsai-sccache branch December 18, 2025 15:41
gmarkall added a commit to gmarkall/numba-cuda that referenced this pull request Jan 12, 2026
- Add arch specific target support (NVIDIA#549)
- chore: disable `locked` flag to bypass prefix-dev/pixi#5256 (NVIDIA#714)
- ci: relock pixi (NVIDIA#712)
- ci: remove redundant conda build in ci (NVIDIA#711)
- chore(deps): bump numba-cuda version and relock pixi (NVIDIA#707)
- Dropping bits in the old CI & Propagating recent changes from cuda-python (NVIDIA#683)
- Fix `test_wheel_deps_wheels.sh` to actually uninstall `nvvm` and `nvrtc` packages for CUDA 13 (NVIDIA#701)
- perf: remove some exception control flow and buffer-exception penalization for arrays (NVIDIA#700)
- perf: let CAI fall through instead of calling from_cuda_array_interface (NVIDIA#694)
- chore: perf lint (NVIDIA#697)
- chore(deps): bump deps in pixi lockfile (NVIDIA#693)
- fix: use freethreading-supported `_PySet_NextItemRef` where possible (NVIDIA#682)
- Support python `3.14` (NVIDIA#599)
- Remove customized address space tracking and address class emission in debug info (NVIDIA#669)
- Drop `experimental` from cuda.core namespace imports (NVIDIA#676)
- Remove dangling references to NUMBA_CUDA_ENABLE_MINOR_VERSION_COMPATIBILITY (NVIDIA#675)
- Use `rapidsai/sccache` in CI (NVIDIA#674)
- chore(dev-deps): remove ipython and pyinstrument (NVIDIA#670)
- Set up a new VM-based CI infrastructure  (NVIDIA#604)
@gmarkall gmarkall mentioned this pull request Jan 12, 2026
gmarkall added a commit that referenced this pull request Jan 12, 2026
- Add arch specific target support (#549)
- chore: disable `locked` flag to bypass
prefix-dev/pixi#5256 (#714)
- ci: relock pixi (#712)
- ci: remove redundant conda build in ci (#711)
- chore(deps): bump numba-cuda version and relock pixi (#707)
- Dropping bits in the old CI & Propagating recent changes from
cuda-python (#683)
- Fix `test_wheel_deps_wheels.sh` to actually uninstall `nvvm` and
`nvrtc` packages for CUDA 13 (#701)
- perf: remove some exception control flow and buffer-exception
penalization for arrays (#700)
- perf: let CAI fall through instead of calling
from_cuda_array_interface (#694)
- chore: perf lint (#697)
- chore(deps): bump deps in pixi lockfile (#693)
- fix: use freethreading-supported `_PySet_NextItemRef` where possible
(#682)
- Support python `3.14` (#599)
- Remove customized address space tracking and address class emission in
debug info (#669)
- Drop `experimental` from cuda.core namespace imports (#676)
- Remove dangling references to
NUMBA_CUDA_ENABLE_MINOR_VERSION_COMPATIBILITY (#675)
- Use `rapidsai/sccache` in CI (#674)
- chore(dev-deps): remove ipython and pyinstrument (#670)
- Set up a new VM-based CI infrastructure  (#604)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3 - Ready for Review Ready for review by team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CI: Switch to use RAPIDSAI/sccache?

3 participants