From 8e8b93e5d3c5afe138abff93312d4e9aae0c65d1 Mon Sep 17 00:00:00 2001 From: Ruihang Lai Date: Sat, 28 Sep 2024 23:25:24 -0400 Subject: [PATCH] Build package for CUDA 12.3; deprecate 12.1 Some CUTLASS kernels for SM90a are only available since CUDA 12.3: https://github.com/NVIDIA/cutlass/blob/bbe579a9e3beb6ea6626d9227ec32d0dae119a49/include/cutlass/arch/mma_sm90.h#L67-L69 --- .github/workflows/wheel_manylinux_nightly.yaml | 12 ++++++------ scripts/build_mlc_ai_wheel_manylinux.sh | 6 +++--- scripts/build_mlc_llm_wheel_manylinux.sh | 6 +++--- scripts/sync_package.py | 1 + 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/.github/workflows/wheel_manylinux_nightly.yaml b/.github/workflows/wheel_manylinux_nightly.yaml index 01705a2..94e0c97 100644 --- a/.github/workflows/wheel_manylinux_nightly.yaml +++ b/.github/workflows/wheel_manylinux_nightly.yaml @@ -20,15 +20,15 @@ jobs: # matrix of build configs config: - gpu: 'none' - image: 'mlcaidev/package-cpu:b6b04f1' - - gpu: 'cuda-12.1' - image: 'mlcaidev/package-cu121:b6b04f1' + image: 'mlcaidev/package-cpu:254d630' - gpu: 'cuda-12.2' - image: 'mlcaidev/package-cu122:b6b04f1' + image: 'mlcaidev/package-cu122:254d630' + - gpu: 'cuda-12.3' + image: 'mlcaidev/package-cu123:254d630' - gpu: 'rocm-6.1' - image: 'mlcaidev/package-rocm61:b6b04f1' + image: 'mlcaidev/package-rocm61:254d630' - gpu: 'rocm-6.2' - image: 'mlcaidev/package-rocm62:b6b04f1' + image: 'mlcaidev/package-rocm62:254d630' exclude: - pkg_kind: ${{ github.event_name == 'schedule' && 'stable' || '' }} diff --git a/scripts/build_mlc_ai_wheel_manylinux.sh b/scripts/build_mlc_ai_wheel_manylinux.sh index 1ad61c6..9123c14 100755 --- a/scripts/build_mlc_ai_wheel_manylinux.sh +++ b/scripts/build_mlc_ai_wheel_manylinux.sh @@ -6,7 +6,7 @@ source /opt/rh/gcc-toolset-11/enable # GCC-11 is the hightest GCC version compat function usage() { echo "Usage: $0 [--gpu GPU-VERSION]" echo - echo -e "--gpu {none cuda-11.7 cuda-11.8 cuda-12.1 cuda-12.2 rocm-6.1 rocm-6.2}" + echo -e "--gpu {none cuda-11.7 cuda-11.8 cuda-12.1 cuda-12.2 cuda-12.3 rocm-6.1 rocm-6.2}" echo -e "\tSpecify the GPU version (CUDA/ROCm) in the TVM (default: none)." } @@ -44,7 +44,7 @@ function audit_mlc_ai_wheel() { TVM_PYTHON_DIR="/workspace/tvm/python" PYTHON_VERSIONS_CPU=("3.7" "3.8" "3.9" "3.10" "3.11" "3.12") PYTHON_VERSIONS_GPU=("3.7" "3.8" "3.9" "3.10" "3.11" "3.12") -GPU_OPTIONS=("none" "cuda-11.7" "cuda-11.8" "cuda-12.1" "cuda-12.2" "rocm-6.1" "rocm-6.2") +GPU_OPTIONS=("none" "cuda-11.7" "cuda-11.8" "cuda-12.1" "cuda-12.2" "cuda-12.3" "rocm-6.1" "rocm-6.2") GPU="none" while [[ $# -gt 0 ]]; do @@ -71,7 +71,7 @@ done if ! in_array "${GPU}" "${GPU_OPTIONS[*]}"; then echo "Invalid GPU option: ${GPU}" echo - echo 'GPU version can only be {"none", "cuda-11.7" "cuda-11.8" "cuda-12.1" "cuda-12.2" "rocm-6.1" "rocm-6.2"}' + echo 'GPU version can only be {"none", "cuda-11.7" "cuda-11.8" "cuda-12.1" "cuda-12.2" "cuda-12.3" "rocm-6.1" "rocm-6.2"}' exit -1 fi diff --git a/scripts/build_mlc_llm_wheel_manylinux.sh b/scripts/build_mlc_llm_wheel_manylinux.sh index ceca94b..4cea5bc 100755 --- a/scripts/build_mlc_llm_wheel_manylinux.sh +++ b/scripts/build_mlc_llm_wheel_manylinux.sh @@ -6,7 +6,7 @@ source /opt/rh/gcc-toolset-11/enable # GCC-11 is the hightest GCC version compat function usage() { echo "Usage: $0 [--gpu GPU-VERSION]" echo - echo -e "--gpu {none cuda-11.7 cuda-11.8 cuda-12.1 cuda-12.2 rocm-6.1 rocm-6.2}" + echo -e "--gpu {none cuda-11.7 cuda-11.8 cuda-12.1 cuda-12.2 cuda-12.3 rocm-6.1 rocm-6.2}" echo -e "\tSpecify the GPU version (CUDA/ROCm) in the MLC-LLM (default: none)." } @@ -44,7 +44,7 @@ function audit_mlc_llm_wheel() { MLC_LLM_PYTHON_DIR="/workspace/mlc-llm/python" PYTHON_VERSIONS_CPU=("3.7" "3.8" "3.9" "3.10" "3.11" "3.12") PYTHON_VERSIONS_GPU=("3.7" "3.8" "3.9" "3.10" "3.11" "3.12") -GPU_OPTIONS=("none" "cuda-11.7" "cuda-11.8" "cuda-12.1" "cuda-12.2" "rocm-6.1" "rocm-6.2") +GPU_OPTIONS=("none" "cuda-11.7" "cuda-11.8" "cuda-12.1" "cuda-12.2" "cuda-12.3" "rocm-6.1" "rocm-6.2") GPU="none" while [[ $# -gt 0 ]]; do @@ -71,7 +71,7 @@ done if ! in_array "${GPU}" "${GPU_OPTIONS[*]}"; then echo "Invalid GPU option: ${GPU}" echo - echo 'GPU version can only be {"none", "cuda-11.7" "cuda-11.8" "cuda-12.1" "cuda-12.2" "rocm-6.1" "rocm-6.2"}' + echo 'GPU version can only be {"none", "cuda-11.7" "cuda-11.8" "cuda-12.1" "cuda-12.2" "cuda-12.3" "rocm-6.1" "rocm-6.2"}' exit -1 fi diff --git a/scripts/sync_package.py b/scripts/sync_package.py index 7f251e8..35fb332 100644 --- a/scripts/sync_package.py +++ b/scripts/sync_package.py @@ -167,6 +167,7 @@ def main(): "cuda-11.8", "cuda-12.1", "cuda-12.2", + "cuda-12.3", "rocm-6.1", "rocm-6.2", ],