Skip to content

CI: Switch to use RAPIDSAI/sccache? #673

@leofang

Description

@leofang

In #604 we noticed that the upstream sccache does not work with nvcc for generating fatbin/ltoir

# In CI we use sccache. Note that sccache does not support generating fatbin or ltoir.
ifeq ($(shell command -v sccache 2>&1 >/dev/null; echo $$?),0)
SCCACHE := sccache
else
SCCACHE :=
endif

and archive

numba-cuda/testing/Makefile

Lines 110 to 111 in 2dd7f25

$(OUTPUT_DIR)/nrt_extern.a: nrt_extern.cu
nvcc $(NVCC_FLAGS) $(LIBRARY_FLAGS) -o $@ $< -I$(NRT_INCLUDE_DIR)

so we disabled using sccache for these outputs.

@trxcllnt mentioned that RAPIDS's fork has LTOIR covered
https://github.com/rapidsai/sccache/blob/58df5348a12b99c0ae726ccc3505a9749c414139/tests/system.rs#L1726-L1836

Currently, we're using mozilla-actions/sccache-action

# The env vars ACTIONS_CACHE_SERVICE_V2, ACTIONS_RESULTS_URL, and ACTIONS_RUNTIME_TOKEN
# are exposed by this action.
- name: Enable sccache
if: ${{ startsWith(inputs.host-platform, 'linux') }}
uses: mozilla-actions/sccache-action@7d986dd989559c6ecdb630a3fd2557667be217ad # 0.0.9

which literally just

  • find or download sccache
  • set a bunch of env vars

I suspect if we download the RAPIDS fork before executing this action, it’d use the forked version instead. Alternatively, we can just roll our own action that targets the RAPIDS fork. Should pretty easy either way.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions