Skip to content

Commit bbeb011

Browse files
committed
Simplify compute-sanitizer setup, fix bindings name
1 parent 91c07c9 commit bbeb011

File tree

3 files changed

+33
-19
lines changed

3 files changed

+33
-19
lines changed

.github/workflows/test-wheel-linux.yml

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -284,19 +284,7 @@ jobs:
284284
cuda-components: "cuda_sanitizer_api"
285285

286286
- name: Set up compute-sanitizer
287-
run: |
288-
if [[ "${SETUP_SANITIZER}" == 1 ]]; then
289-
COMPUTE_SANITIZER="${CUDA_HOME}/bin/compute-sanitizer"
290-
COMPUTE_SANITIZER_VERSION=$(${COMPUTE_SANITIZER} --version | grep -Eo "[0-9]{4}\.[0-9]\.[0-9]" | sed -e 's/\.//g')
291-
SANITIZER_CMD="${COMPUTE_SANITIZER} --target-processes=all --launch-timeout=0 --tool=memcheck --error-exitcode=1"
292-
if [[ "$COMPUTE_SANITIZER_VERSION" -ge 202111 ]]; then
293-
SANITIZER_CMD="${SANITIZER_CMD} --padding=32"
294-
fi
295-
echo "CUDA_PYTHON_TESTING_WITH_COMPUTE_SANITIZER=1" >> $GITHUB_ENV
296-
else
297-
SANITIZER_CMD=""
298-
fi
299-
echo "SANITIZER_CMD=${SANITIZER_CMD}" >> $GITHUB_ENV
287+
run: setup-sanitizer
300288

301289
- name: Run cuda.bindings tests
302290
if: ${{ env.SKIP_CUDA_BINDINGS_TEST == '0' }}

ci/tools/env-vars

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,15 @@ echo "CUDA_CORE_ARTIFACT_BASENAME=${CUDA_CORE_ARTIFACT_BASENAME}" >> $GITHUB_ENV
3434
echo "CUDA_CORE_ARTIFACT_NAME=${CUDA_CORE_ARTIFACT_BASENAME}-${SHA}" >> $GITHUB_ENV
3535
echo "CUDA_CORE_ARTIFACTS_DIR=$(realpath "${REPO_DIR}/cuda_core/dist")" >> $GITHUB_ENV
3636
echo "CUDA_CORE_CYTHON_TESTS_DIR=$(realpath "${REPO_DIR}/cuda_core/tests/cython")" >> $GITHUB_ENV
37-
CUDA_BINDINGS_ARTIFACT_BASENAME="cuda-bindings-python${PYTHON_VERSION_FORMATTED}-cuda${CUDA_VER}-${HOST_PLATFORM}"
38-
echo "CUDA_BINDINGS_ARTIFACT_BASENAME=${CUDA_BINDINGS_ARTIFACT_BASENAME}" >> $GITHUB_ENV
39-
echo "CUDA_BINDINGS_ARTIFACT_NAME=${CUDA_BINDINGS_ARTIFACT_BASENAME}-${SHA}" >> $GITHUB_ENV
40-
echo "CUDA_BINDINGS_ARTIFACTS_DIR=$(realpath "${REPO_DIR}/cuda_bindings/dist")" >> $GITHUB_ENV
41-
echo "CUDA_BINDINGS_CYTHON_TESTS_DIR=$(realpath "${REPO_DIR}/cuda_bindings/tests/cython")" >> $GITHUB_ENV
4237
echo "PYTHON_VERSION_FORMATTED=${PYTHON_VERSION_FORMATTED}" >> $GITHUB_ENV
4338

4439
if [[ "${1}" == "build" ]]; then
4540
echo "CIBW_BUILD=${CIBW_BUILD}" >> $GITHUB_ENV
41+
CUDA_BINDINGS_ARTIFACT_BASENAME="cuda-bindings-python${PYTHON_VERSION_FORMATTED}-cuda${CUDA_VER}-${HOST_PLATFORM}"
4642
elif [[ "${1}" == "test" ]]; then
4743
BUILD_CUDA_MAJOR="$(cut -d '.' -f 1 <<< ${BUILD_CUDA_VER})"
4844
TEST_CUDA_MAJOR="$(cut -d '.' -f 1 <<< ${CUDA_VER})"
45+
CUDA_BINDINGS_ARTIFACT_BASENAME="cuda-bindings-python${PYTHON_VERSION_FORMATTED}-cuda${BUILD_CUDA_VER}-${HOST_PLATFORM}"
4946
if [[ ${BUILD_CUDA_MAJOR} != ${TEST_CUDA_MAJOR} ]]; then
5047
SKIP_CUDA_BINDINGS_TEST=1
5148
SKIP_CYTHON_TEST=1
@@ -63,12 +60,18 @@ elif [[ "${1}" == "test" ]]; then
6360
# We only test compute-sanitizer on python 3.12 arbitrarily; we don't need to use sanitizer on the entire matrix
6461
# Only local ctk installs have compute-sanitizer; there is no wheel for it
6562
if [[ "${PY_VER}" == "3.12" && "${CUDA_VER}" != "11.8.0" && "${LOCAL_CTK}" == 1 && "${HOST_PLATFORM}" == linux* ]]; then
66-
SETUP_SANITIZER=1
6763
echo "LATEST_CUDA_VERSION=$(bash .github/workflows/guess_latest.sh)" >> $GITHUB_ENV
64+
SETUP_SANITIZER=1
6865
else
6966
SETUP_SANITIZER=0
67+
echo "SANITIZER_CMD=" >> $GITHUB_ENV
7068
fi
7169
echo "SETUP_SANITIZER=${SETUP_SANITIZER}" >> $GITHUB_ENV
7270
echo "SKIP_CUDA_BINDINGS_TEST=${SKIP_CUDA_BINDINGS_TEST}" >> $GITHUB_ENV
7371
echo "SKIP_CYTHON_TEST=${SKIP_CYTHON_TEST}" >> $GITHUB_ENV
7472
fi
73+
74+
echo "CUDA_BINDINGS_ARTIFACT_BASENAME=${CUDA_BINDINGS_ARTIFACT_BASENAME}" >> $GITHUB_ENV
75+
echo "CUDA_BINDINGS_ARTIFACT_NAME=${CUDA_BINDINGS_ARTIFACT_BASENAME}-${SHA}" >> $GITHUB_ENV
76+
echo "CUDA_BINDINGS_ARTIFACTS_DIR=$(realpath "${REPO_DIR}/cuda_bindings/dist")" >> $GITHUB_ENV
77+
echo "CUDA_BINDINGS_CYTHON_TESTS_DIR=$(realpath "${REPO_DIR}/cuda_bindings/tests/cython")" >> $GITHUB_ENV

ci/tools/setup-sanitizer

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/usr/bin/env bash
2+
3+
# Copyright (c) 2025, NVIDIA CORPORATION & AFFILIATES. ALL RIGHTS RESERVED.
4+
#
5+
# SPDX-License-Identifier: Apache-2.0
6+
7+
# A utility script to set up the GitHub environment variables for the CI.
8+
9+
set -euo pipefail
10+
11+
# Setup comppute sanitizer if requested.
12+
if [[ "${SETUP_SANITIZER}" == 1 ]]; then
13+
COMPUTE_SANITIZER="${CUDA_HOME}/bin/compute-sanitizer"
14+
COMPUTE_SANITIZER_VERSION=$(${COMPUTE_SANITIZER} --version | grep -Eo "[0-9]{4}\.[0-9]\.[0-9]" | sed -e 's/\.//g')
15+
SANITIZER_CMD="${COMPUTE_SANITIZER} --target-processes=all --launch-timeout=0 --tool=memcheck --error-exitcode=1"
16+
if [[ "$COMPUTE_SANITIZER_VERSION" -ge 202111 ]]; then
17+
SANITIZER_CMD="${SANITIZER_CMD} --padding=32"
18+
fi
19+
echo "CUDA_PYTHON_TESTING_WITH_COMPUTE_SANITIZER=1" >> $GITHUB_ENV
20+
else
21+
SANITIZER_CMD=""
22+
fi
23+
echo "SANITIZER_CMD=${SANITIZER_CMD}" >> $GITHUB_ENV

0 commit comments

Comments
 (0)