1717 node_type :
1818 type : string
1919 default : " cpu16"
20- cuda_ver :
21- type : string
22- default : " 12.9.1"
2320 linux_ver :
2421 type : string
2522 default : " rockylinux8"
@@ -58,22 +55,31 @@ jobs:
5855 steps :
5956 - name : Compute Build Matrix
6057 id : compute-matrix
58+ env :
59+ CUDA12_VER : " 12.9.1"
60+ CUDA13_VER : " 13.0.0"
6161 run : |
6262 set -eo pipefail
6363
6464 # please keep the matrices sorted in ascending order by the following:
6565 #
66- # [ARCH, PY_VER, CUDA_VER, LINUX_VER ]
66+ # [ARCH, CUDA_VER, PY_VER ]
6767 #
6868 export MATRIX="
6969 # amd64
70- - { ARCH: 'amd64', PY_VER: '3.11', TARGET_DEV: 'gpu', BUILD_MODE: 'release' }
71- - { ARCH: 'amd64', PY_VER: '3.12', TARGET_DEV: 'gpu', BUILD_MODE: 'release' }
72- - { ARCH: 'amd64', PY_VER: '3.13', TARGET_DEV: 'gpu', BUILD_MODE: 'release' }
70+ - { ARCH: 'amd64', CUDA_VER: '${CUDA12_VER}', PY_VER: '3.11' }
71+ - { ARCH: 'amd64', CUDA_VER: '${CUDA12_VER}', PY_VER: '3.12' }
72+ - { ARCH: 'amd64', CUDA_VER: '${CUDA12_VER}', PY_VER: '3.13' }
73+ - { ARCH: 'amd64', CUDA_VER: '${CUDA13_VER}', PY_VER: '3.11' }
74+ - { ARCH: 'amd64', CUDA_VER: '${CUDA13_VER}', PY_VER: '3.12' }
75+ - { ARCH: 'amd64', CUDA_VER: '${CUDA13_VER}', PY_VER: '3.13' }
7376 # arm64
74- - { ARCH: 'arm64', PY_VER: '3.11', TARGET_DEV: 'gpu', BUILD_MODE: 'release' }
75- - { ARCH: 'arm64', PY_VER: '3.12', TARGET_DEV: 'gpu', BUILD_MODE: 'release' }
76- - { ARCH: 'arm64', PY_VER: '3.13', TARGET_DEV: 'gpu', BUILD_MODE: 'release' }
77+ - { ARCH: 'arm64', CUDA_VER: '${CUDA12_VER}', PY_VER: '3.11' }
78+ - { ARCH: 'arm64', CUDA_VER: '${CUDA12_VER}', PY_VER: '3.12' }
79+ - { ARCH: 'arm64', CUDA_VER: '${CUDA12_VER}', PY_VER: '3.13' }
80+ - { ARCH: 'arm64', CUDA_VER: '${CUDA13_VER}', PY_VER: '3.11' }
81+ - { ARCH: 'arm64', CUDA_VER: '${CUDA13_VER}', PY_VER: '3.12' }
82+ - { ARCH: 'arm64', CUDA_VER: '${CUDA13_VER}', PY_VER: '3.13' }
7783 "
7884
7985 MATRIX="$(
@@ -83,49 +89,55 @@ jobs:
8389
8490 echo "MATRIX=${MATRIX}" | tee --append "${GITHUB_OUTPUT}"
8591 build :
86- name : ${{ matrix.ARCH }}, py ${{ matrix.PY_VER }}, ${{ matrix.TARGET_DEV }}, ${{ matrix.BUILD_MODE }}
92+ name : ${{ matrix.ARCH }}, ${{ matrix.CUDA_VER }} py ${{ matrix.PY_VER }}
8793 needs : compute-matrix
8894 timeout-minutes : 90
8995 strategy :
9096 fail-fast : false
9197 matrix : ${{ fromJSON(needs.compute-matrix.outputs.MATRIX) }}
9298 runs-on : " linux-${{ matrix.ARCH }}-${{ inputs.node_type }}"
9399 container :
94- image : rapidsai/ci-wheel:cuda${{ inputs.cuda_ver }}-${{ inputs.linux_ver }}-py${{ matrix.PY_VER }}
95- env :
96- BUILD_MODE : ${{ matrix.BUILD_MODE }}
100+ image : rapidsai/ci-wheel:cuda${{ matrix.CUDA_VER }}-${{ inputs.linux_ver }}-py${{ matrix.PY_VER }}
97101 steps :
98102 - name : Telemetry setup
99103 uses : rapidsai/shared-actions/telemetry-dispatch-setup@main
100104 continue-on-error : true
101105 if : ${{ vars.TELEMETRY_ENABLED == 'true' && github.run_attempt == '1' }}
102106 with :
103- extra_attributes : " legate.PACKAGER=conda,legate.CUDA_VER=${{ inputs.cuda_ver }},legate.PY_VER=${{ matrix.PY_VER }},legate.ARCH=${{ matrix.ARCH }}"
107+ extra_attributes : " legate.PACKAGER=conda,legate.CUDA_VER=${{ matrix.CUDA_VER }},legate.PY_VER=${{ matrix.PY_VER }},legate.ARCH=${{ matrix.ARCH }}"
104108 env :
105109 GH_TOKEN : ${{ github.token }}
106- - name : Get the SHA
107- id : get-sha
108- run : |
109- sha=$(echo ${{github.sha}} | head -c 10)
110- echo "sha=$sha" >> $GITHUB_OUTPUT
111110 - if : github.repository_owner == 'nv-legate'
112111 name : Get AWS credentials for sccache bucket
113112 uses : aws-actions/configure-aws-credentials@v6
114113 with :
115114 aws-region : us-east-2
116115 role-duration-seconds : 28800 # 8 hours
117116 role-to-assume : arn:aws:iam::279114543810:role/gha-oidc-nv-legate
118- - uses : actions/checkout@v6.0.2
117+ - uses : actions/checkout@v6
119118 with :
120119 repository : ${{ inputs.repo }}
121120 ref : ${{ inputs.sha }}
122121 fetch-depth : 0
123122 - name : Add default paths to the env
124123 run : |
125124 echo "$(pwd)"/continuous_integration/scripts/tools >> "${GITHUB_PATH}"
125+ - name : Extract CUDA major version
126+ env :
127+ CUDA_VER : ${{ matrix.CUDA_VER }}
128+ run : |
129+ cuda_major_ver="${CUDA_VER%%.*}"
130+ case "${cuda_major_ver}" in
131+ 12|13) ;;
132+ *)
133+ echo "Unsupported CUDA major version: ${cuda_major_ver}" >&2
134+ exit 1
135+ ;;
136+ esac
137+ echo "CUDA_MAJOR_VER=${cuda_major_ver}" >> "${GITHUB_ENV}"
126138 - name : Download the legate wheel
127139 env :
128- BUILD_NAME : ${{ matrix.ARCH }}-${{ matrix.TARGET_DEV }}-cuda12 -py${{ matrix.PY_VER }}
140+ BUILD_NAME : ${{ matrix.ARCH }}-cuda ${{ env.CUDA_MAJOR_VER }}-py${{ matrix.PY_VER }}
129141 GH_TOKEN : ${{ secrets.NV_LEGATE_INTER_REPOS_ACCESS_RO }}
130142 run : |
131143 echo "::group::Checking rate limit for API calls"
@@ -139,11 +151,10 @@ jobs:
139151 GH_TOKEN : ${{ github.token }}
140152 - name : Wheel upload
141153 env :
142- BUILD_SHA : ${{ steps.get-sha.outputs.sha }}
143- BUILD_NAME : ${{ matrix.ARCH }}-${{ matrix.TARGET_DEV }}-cuda12-py${{ matrix.PY_VER }}
154+ BUILD_NAME : ${{ matrix.ARCH }}-cuda${{ env.CUDA_MAJOR_VER }}-py${{ matrix.PY_VER }}
144155 uses : actions/upload-artifact@v7
145156 with :
146- name : cupynumeric-wheel-${{ env.BUILD_NAME }}-g${{ env.BUILD_SHA }}
157+ name : cupynumeric-wheel-${{ env.BUILD_NAME }}
147158 path : final-dist/*.whl
148159 - name : Telemetry upload attributes
149160 uses : rapidsai/shared-actions/telemetry-dispatch-stash-job-artifacts@main
0 commit comments