From b86f71cc5e2cd1f23aaa4b15cad80e06705f91de Mon Sep 17 00:00:00 2001 From: Daniel Ching Date: Wed, 30 Apr 2025 12:51:14 -0500 Subject: [PATCH 1/3] CI: Always fetch the compute-sanitizer from the CTK 12.8.1 --- .github/actions/fetch_ctk/action.yml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/actions/fetch_ctk/action.yml b/.github/actions/fetch_ctk/action.yml index eee8efb310..949f2d08c4 100644 --- a/.github/actions/fetch_ctk/action.yml +++ b/.github/actions/fetch_ctk/action.yml @@ -55,7 +55,6 @@ runs: # The binary archives (redist) are guaranteed to be updated as part of the release posting. CTK_BASE_URL="https://developer.download.nvidia.com/compute/cuda/redist/" - CTK_JSON_URL="$CTK_BASE_URL/redistrib_${{ inputs.cuda-version }}.json" if [[ "${{ inputs.host-platform }}" == linux* ]]; then if [[ "${{ inputs.host-platform }}" == "linux-64" ]]; then CTK_SUBDIR="linux-x86_64" @@ -74,13 +73,15 @@ runs: rm -rf $_TEMP_DIR_ } fi + function populate_cuda_path() { # take the component name as a argument function download() { curl -kLSs $1 -o $2 } - CTK_COMPONENT=$1 - CTK_COMPONENT_REL_PATH="$(curl -s $CTK_JSON_URL | + local CTK_COMPONENT=$1 + local CTK_VERSION=$2 + CTK_COMPONENT_REL_PATH="$(curl -s ${CTK_BASE_URL}/redistrib_${CTK_VERSION}.json | python -c "import sys, json; print(json.load(sys.stdin)['${CTK_COMPONENT}']['${CTK_SUBDIR}']['relative_path'])")" CTK_COMPONENT_URL="${CTK_BASE_URL}/${CTK_COMPONENT_REL_PATH}" CTK_COMPONENT_COMPONENT_FILENAME="$(basename $CTK_COMPONENT_REL_PATH)" @@ -97,7 +98,13 @@ runs: CTK_CACHE_COMPONENTS="${CTK_CACHE_COMPONENTS//,,/,}" # Get headers and shared libraries in place for item in $(echo $CTK_CACHE_COMPONENTS | tr ',' ' '); do - populate_cuda_path "$item" + ctk_version="${{ inputs.cuda-version }}" + if [[ "$item" == "cuda_sanitizer_api" ]]; then + # Always use latest CTK for cuda_sanitizer_api + # FIXME: Automatically track latest CTK version + ctk_version="12.8.1" + fi + populate_cuda_path "$item" "$ctk_version" done ls -l $CUDA_PATH From b22711ccbd7222056233244598c7dcf6ba3c37ef Mon Sep 17 00:00:00 2001 From: Daniel Ching Date: Wed, 30 Apr 2025 12:58:29 -0500 Subject: [PATCH 2/3] DNM: Add cublas to CTK components for intentional cache miss --- .github/actions/fetch_ctk/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/fetch_ctk/action.yml b/.github/actions/fetch_ctk/action.yml index 949f2d08c4..8e906a76cb 100644 --- a/.github/actions/fetch_ctk/action.yml +++ b/.github/actions/fetch_ctk/action.yml @@ -17,7 +17,7 @@ inputs: description: "A list of the CTK components to install as a comma-separated list. e.g. 'cuda_nvcc,cuda_nvrtc,cuda_cudart'" required: false type: string - default: "cuda_nvcc,cuda_cudart,cuda_nvrtc,cuda_profiler_api,cuda_cccl,cuda_sanitizer_api,libnvjitlink" + default: "cuda_nvcc,cuda_cudart,cuda_nvrtc,cuda_profiler_api,cuda_cccl,cuda_sanitizer_api,libnvjitlink,libcublas" runs: using: composite From 28b585b64109c249c76c7e81dda2f6b898ee8d88 Mon Sep 17 00:00:00 2001 From: Leo Fang Date: Wed, 30 Apr 2025 22:38:53 -0400 Subject: [PATCH 3/3] more granularity --- .github/actions/fetch_ctk/action.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/actions/fetch_ctk/action.yml b/.github/actions/fetch_ctk/action.yml index 8e906a76cb..ed0b6d2907 100644 --- a/.github/actions/fetch_ctk/action.yml +++ b/.github/actions/fetch_ctk/action.yml @@ -17,7 +17,7 @@ inputs: description: "A list of the CTK components to install as a comma-separated list. e.g. 'cuda_nvcc,cuda_nvrtc,cuda_cudart'" required: false type: string - default: "cuda_nvcc,cuda_cudart,cuda_nvrtc,cuda_profiler_api,cuda_cccl,cuda_sanitizer_api,libnvjitlink,libcublas" + default: "cuda_nvcc,cuda_cudart,cuda_nvrtc,cuda_profiler_api,cuda_cccl,cuda_sanitizer_api,libnvjitlink" runs: using: composite @@ -102,7 +102,11 @@ runs: if [[ "$item" == "cuda_sanitizer_api" ]]; then # Always use latest CTK for cuda_sanitizer_api # FIXME: Automatically track latest CTK version - ctk_version="12.8.1" + CUDA_MAJOR="$(cut -d '.' -f 1 <<< ${{ inputs.cuda-version }})" + if [[ "$CUDA_MAJOR" == "12" ]]; then + # TODO: Automatically track latest CTK minor version + ctk_version="12.8.0" + fi fi populate_cuda_path "$item" "$ctk_version" done