Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .ci/docker/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ case "${IMAGE_NAME}" in
LINTRUNNER=""
GCC_VERSION=11
CUDA_WINDOWS_CROSS_COMPILE=yes
CUDA_VERSION=12.8
CUDA_VERSION=13.0
SKIP_PYTORCH=yes
;;
executorch-ubuntu-24.04-gcc14)
Expand Down
4 changes: 2 additions & 2 deletions .ci/docker/common/install_cuda.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@

set -ex

# CUDA version must be specified (e.g., 12.8)
# CUDA version must be specified (e.g., 13.0)
CUDA_VERSION="${CUDA_VERSION:?CUDA_VERSION must be set}"

# Convert version format (e.g., 12.8 -> 12-8 for package names)
# Convert version format (e.g., 13.0 -> 13-0 for package names)
CUDA_VERSION_DASH=$(echo "${CUDA_VERSION}" | tr '.' '-')

# Add NVIDIA package repository
Expand Down
10 changes: 8 additions & 2 deletions .ci/docker/common/install_cuda_windows_cross_compile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ declare -A CUDA_DRIVER_MAP=(
["12.6"]="12.6.3:561.17"
["12.8"]="12.8.1:572.61"
["12.9"]="12.9.1:576.57"
["13.0"]="13.0.2:"
)

install_mingw() {
Expand Down Expand Up @@ -76,14 +77,19 @@ install_windows_cuda() {
CUDA_VERSION=$(echo "${CUDA_INFO}" | cut -d: -f1)
CUDA_DRIVER_VERSION=$(echo "${CUDA_INFO}" | cut -d: -f2)

echo "Using CUDA ${CUDA_VERSION} with driver ${CUDA_DRIVER_VERSION}"
if [ -n "${CUDA_DRIVER_VERSION}" ]; then
echo "Using CUDA ${CUDA_VERSION} with driver ${CUDA_DRIVER_VERSION}"
CUDA_INSTALLER="cuda_${CUDA_VERSION}_${CUDA_DRIVER_VERSION}_windows.exe"
else
echo "Using CUDA ${CUDA_VERSION}"
CUDA_INSTALLER="cuda_${CUDA_VERSION}_windows.exe"
fi

echo "Installing Windows CUDA toolkit ${CUDA_VERSION}..."

mkdir -p "${INSTALL_DIR}"
cd "${INSTALL_DIR}"

CUDA_INSTALLER="cuda_${CUDA_VERSION}_${CUDA_DRIVER_VERSION}_windows.exe"
CUDA_URL="https://developer.download.nvidia.com/compute/cuda/${CUDA_VERSION}/local_installers/${CUDA_INSTALLER}"

# Check if already downloaded and extracted
Expand Down
2 changes: 1 addition & 1 deletion .ci/scripts/test-cuda-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

set -exu

CUDA_VERSION=${1:-"12.6"}
CUDA_VERSION=${1:-"13.0"}

echo "=== Testing ExecuTorch CUDA ${CUDA_VERSION} Build ==="

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/cuda-perf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ jobs:
secrets-env: EXECUTORCH_HF_TOKEN
runner: ${{ contains(matrix.model, 'Qwen3.5-35B-A3B') && 'linux.aws.a100' || 'linux.g5.4xlarge.nvidia.gpu' }}
gpu-arch-type: cuda
gpu-arch-version: "12.6"
gpu-arch-version: "13.0"
use-custom-docker-registry: false
submodules: recursive
upload-artifact: model-${{ matrix.model_safe }}-${{ matrix.quant }}
Expand Down Expand Up @@ -158,7 +158,7 @@ jobs:
timeout: 90
runner: ${{ contains(matrix.model, 'Qwen3.5-35B-A3B') && 'linux.aws.a100' || 'linux.g5.4xlarge.nvidia.gpu' }}
gpu-arch-type: cuda
gpu-arch-version: "12.6"
gpu-arch-version: "13.0"
use-custom-docker-registry: false
submodules: recursive
download-artifact: model-${{ matrix.model_safe }}-${{ matrix.quant }}
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/cuda-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ jobs:
secrets-env: EXECUTORCH_HF_TOKEN
runner: linux.g5.4xlarge.nvidia.gpu
gpu-arch-type: cuda
gpu-arch-version: 12.8
gpu-arch-version: "13.0"
docker-image: ci-image:executorch-ubuntu-22.04-cuda-windows
submodules: recursive
upload-artifact: ${{ matrix.model_repo }}-${{ matrix.model_name }}-cuda-windows-${{ matrix.quant }}
Expand Down Expand Up @@ -146,7 +146,7 @@ jobs:
timeout: 240
runner: windows.g5.4xlarge.nvidia.gpu
gpu-arch-type: cuda
gpu-arch-version: 12.8
gpu-arch-version: "13.0"
download-artifact: ${{ matrix.model_repo }}-${{ matrix.model_name }}-cuda-windows-${{ matrix.quant }}
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
script: |
Expand All @@ -158,7 +158,7 @@ jobs:
\$ErrorActionPreference = 'Stop'
\$PSNativeCommandUseErrorActionPreference = \$true

\$env:CUDA_HOME = 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8'
\$env:CUDA_HOME = 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0'
\$env:CUDA_PATH = \$env:CUDA_HOME
\$env:PATH = \"\$env:CUDA_HOME\bin;\$env:PATH\"
nvcc --version
Expand All @@ -169,5 +169,5 @@ jobs:
throw 'RUNNER_ARTIFACT_DIR is empty. Ensure download-artifact is configured for windows_job.yml.'
}

.ci/scripts/test_model_e2e_windows.ps1 -Device cuda-windows -HfModel '${{ matrix.model_repo }}/${{ matrix.model_name }}' -QuantName '${{ matrix.quant }}' -ModelDir \$artifactDir -ExpectedCudaVersion '12.8'
.ci/scripts/test_model_e2e_windows.ps1 -Device cuda-windows -HfModel '${{ matrix.model_repo }}/${{ matrix.model_name }}' -QuantName '${{ matrix.quant }}' -ModelDir \$artifactDir -ExpectedCudaVersion '13.0'
}"
16 changes: 8 additions & 8 deletions .github/workflows/cuda.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Test ExecuTorch CUDA Build Compatibility
# This workflow tests whether ExecuTorch can be successfully built with CUDA support
# across different CUDA versions (12.6, 12.8, 12.9, 13.0) using the command:
# across different CUDA versions (12.6, 13.0) using the command:
# ./install_executorch.sh
#
# Note: ExecuTorch automatically detects the system CUDA version using nvcc and
Expand Down Expand Up @@ -31,7 +31,7 @@ jobs:
strategy:
fail-fast: false
matrix:
cuda-version: ["12.6", "12.8", "12.9", "13.0"]
cuda-version: ["12.6", "13.0"]

name: test-executorch-cuda-build-${{ matrix.cuda-version }}
uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@main
Expand Down Expand Up @@ -66,7 +66,7 @@ jobs:
echo "CUDA build results: ${{ needs.test-cuda-builds.result }}"
exit 1
else
echo "SUCCESS: All ExecuTorch CUDA builds (12.6, 12.8, 12.9, 13.0) completed successfully!"
echo "SUCCESS: All ExecuTorch CUDA builds (12.6, 13.0) completed successfully!"
fi

test-models-cuda:
Expand All @@ -79,7 +79,7 @@ jobs:
timeout: 90
runner: linux.g5.4xlarge.nvidia.gpu
gpu-arch-type: cuda
gpu-arch-version: 12.6
gpu-arch-version: "13.0"
use-custom-docker-registry: false
submodules: recursive
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
Expand Down Expand Up @@ -114,7 +114,7 @@ jobs:
timeout: 90
runner: linux.g5.4xlarge.nvidia.gpu
gpu-arch-type: cuda
gpu-arch-version: 12.6
gpu-arch-version: "13.0"
use-custom-docker-registry: false
submodules: recursive
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
Expand Down Expand Up @@ -271,7 +271,7 @@ jobs:
secrets-env: EXECUTORCH_HF_TOKEN
runner: ${{ (matrix.model.name == 'Qwen3.5-35B-A3B-HQQ-INT4' || matrix.model.name == 'gemma-4-31B-it-HQQ-INT4') && 'linux.aws.a100' || 'linux.g5.4xlarge.nvidia.gpu' }}
gpu-arch-type: cuda
gpu-arch-version: 12.6
gpu-arch-version: "13.0"
use-custom-docker-registry: false
submodules: recursive
upload-artifact: ${{ matrix.model.repo }}-${{ matrix.model.name }}-cuda-${{ matrix.quant }}
Expand Down Expand Up @@ -406,7 +406,7 @@ jobs:
timeout: 90
runner: ${{ (matrix.model.name == 'Qwen3.5-35B-A3B-HQQ-INT4' || matrix.model.name == 'gemma-4-31B-it-HQQ-INT4') && 'linux.aws.a100' || 'linux.g5.4xlarge.nvidia.gpu' }}
gpu-arch-type: cuda
gpu-arch-version: 12.6
gpu-arch-version: "13.0"
use-custom-docker-registry: false
submodules: recursive
download-artifact: ${{ matrix.model.repo }}-${{ matrix.model.name }}-cuda-${{ matrix.quant }}
Expand Down Expand Up @@ -442,7 +442,7 @@ jobs:
download-artifact: ${{ matrix.artifact }}
runner: linux.g5.4xlarge.nvidia.gpu
gpu-arch-type: cuda
gpu-arch-version: 12.6
gpu-arch-version: "13.0"
use-custom-docker-registry: false
submodules: recursive
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
Expand Down
Loading