From 25e8852a455a930849d8e4394e6b74efbd64f7fb Mon Sep 17 00:00:00 2001 From: liyuan Date: Tue, 27 Oct 2026 14:33:44 +0800 Subject: [PATCH 1/3] [spark-rapids] Fix MIG driver install on Debian 12 Signed-off-by: liyuan --- spark-rapids/mig.sh | 70 +++++++++++++++++++++++++++++++++------------ 1 file changed, 51 insertions(+), 19 deletions(-) diff --git a/spark-rapids/mig.sh b/spark-rapids/mig.sh index 6d0874ff3..850376397 100644 --- a/spark-rapids/mig.sh +++ b/spark-rapids/mig.sh @@ -217,6 +217,17 @@ NVIDIA_DRIVER_VERSION=$(get_metadata_attribute 'driver-version' '550.54.15') #53 CUDA_VERSION_MAJOR="${CUDA_VERSION%.*}" #12.2 # EXCEPTIONS +# Debian 12 security kernels use the four-argument pci_resize_resource API, +# which is incompatible with NVIDIA 550 open modules. +if is_debian12 ; then + NVIDIA_DRIVER_VERSION=$(get_metadata_attribute 'driver-version' '580.95.05') + if [[ "${NVIDIA_DRIVER_VERSION%%.*}" == "550" ]]; then + echo "WARNING: Driver version 550 is incompatible with Debian 12 kernel. Overriding to 580.95.05" >&2 + NVIDIA_DRIVER_VERSION='580.95.05' + fi + USE_REPO_INSTALL="true" +fi + # Change CUDA version for Ubuntu 18 (Cuda 12.1.1 - Driver v530.30.02 is the latest version supported by Ubuntu 18) if [[ "${OS_NAME}" == "ubuntu" ]]; then if is_ubuntu18 ; then @@ -296,30 +307,51 @@ function install_nvidia_gpu_driver() { execute_with_retries "apt-get install -y -q 'linux-headers-$(uname -r)'" - curl -fsSL --retry-connrefused --retry 3 --retry-max-time 5 \ - "${LOCAL_DEB_URL}" -o /tmp/local-installer.deb + if [[ "${USE_REPO_INSTALL:-false}" == "true" ]]; then + execute_with_retries \ + "curl -fsSL --retry-connrefused --retry 3 --retry-max-time 5 https://developer.download.nvidia.com/compute/cuda/repos/${shortname}/x86_64/cuda-keyring_1.1-1_all.deb -o /tmp/cuda-keyring_1.1-1_all.deb" + execute_with_retries "dpkg -i /tmp/cuda-keyring_1.1-1_all.deb" + rm -f /tmp/cuda-keyring_1.1-1_all.deb + execute_with_retries "apt-get update" - dpkg -i /tmp/local-installer.deb - rm /tmp/local-installer.deb - cp ${DIST_KEYRING_DIR}/cuda-*-keyring.gpg /usr/share/keyrings/ + execute_with_retries "apt-get install -y -q --no-install-recommends dkms" + execute_with_retries \ + "apt-get install -y -q --no-install-recommends nvidia-driver-pinning-${NVIDIA_DRIVER_VERSION_PREFIX}" + execute_with_retries "apt-get update" - add_contrib_components + configure_dkms_certs + execute_with_retries \ + "apt-get install -y -q --no-install-recommends nvidia-kernel-open-dkms nvidia-driver-cuda" + clear_dkms_key - execute_with_retries "apt-get update" + execute_with_retries \ + "apt-get install -y -q --no-install-recommends cuda-toolkit-${CUDA_VERSION_MAJOR//./-}" + else + curl -fsSL --retry-connrefused --retry 3 --retry-max-time 5 \ + "${LOCAL_DEB_URL}" -o /tmp/local-installer.deb - ## EXCEPTION - if is_debian10 ; then - apt-get remove -y libglvnd0 - apt-get install -y ca-certificates-java - fi + dpkg -i /tmp/local-installer.deb + rm /tmp/local-installer.deb + cp ${DIST_KEYRING_DIR}/cuda-*-keyring.gpg /usr/share/keyrings/ - configure_dkms_certs - execute_with_retries "apt-get install -y -q nvidia-kernel-open-dkms" - clear_dkms_key - execute_with_retries \ - "apt-get install -y -q --no-install-recommends cuda-drivers-${NVIDIA_DRIVER_VERSION_PREFIX}" - execute_with_retries \ - "apt-get install -y -q --no-install-recommends cuda-toolkit-${CUDA_VERSION_MAJOR//./-}" + add_contrib_components + + execute_with_retries "apt-get update" + + ## EXCEPTION + if is_debian10 ; then + apt-get remove -y libglvnd0 + apt-get install -y ca-certificates-java + fi + + configure_dkms_certs + execute_with_retries "apt-get install -y -q nvidia-kernel-open-dkms" + clear_dkms_key + execute_with_retries \ + "apt-get install -y -q --no-install-recommends cuda-drivers-${NVIDIA_DRIVER_VERSION_PREFIX}" + execute_with_retries \ + "apt-get install -y -q --no-install-recommends cuda-toolkit-${CUDA_VERSION_MAJOR//./-}" + fi modprobe nvidia From bad1ca8da0fd2c8a4a267d4fdb6ec62381f67135 Mon Sep 17 00:00:00 2001 From: liyuan <84758614+nvliyuan@users.noreply.github.com> Date: Tue, 27 Oct 2026 15:27:02 +0800 Subject: [PATCH 2/3] Update spark-rapids/mig.sh Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- spark-rapids/mig.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/spark-rapids/mig.sh b/spark-rapids/mig.sh index 850376397..4c5976d99 100644 --- a/spark-rapids/mig.sh +++ b/spark-rapids/mig.sh @@ -312,6 +312,7 @@ function install_nvidia_gpu_driver() { "curl -fsSL --retry-connrefused --retry 3 --retry-max-time 5 https://developer.download.nvidia.com/compute/cuda/repos/${shortname}/x86_64/cuda-keyring_1.1-1_all.deb -o /tmp/cuda-keyring_1.1-1_all.deb" execute_with_retries "dpkg -i /tmp/cuda-keyring_1.1-1_all.deb" rm -f /tmp/cuda-keyring_1.1-1_all.deb + add_contrib_components execute_with_retries "apt-get update" execute_with_retries "apt-get install -y -q --no-install-recommends dkms" From bf02dd571052ca6aa0242e6dff2067cc3ddfd010 Mon Sep 17 00:00:00 2001 From: liyuan Date: Tue, 27 Oct 2026 15:28:09 +0800 Subject: [PATCH 3/3] fix: address MIG install review comments Signed-off-by: liyuan --- spark-rapids/mig.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/spark-rapids/mig.sh b/spark-rapids/mig.sh index 4c5976d99..36aa5cafc 100644 --- a/spark-rapids/mig.sh +++ b/spark-rapids/mig.sh @@ -172,11 +172,11 @@ function configure_dkms_certs() { function clear_dkms_key { if [[ -z "${PSN}" ]]; then - echo "No signing secret provided. skipping" >2 + echo "No signing secret provided. skipping" >&2 return 0 fi - echo "WARN -- PURGING SIGNING MATERIAL -- WARN" >2 - echo "future dkms runs will not use correct signing key" >2 + echo "WARN -- PURGING SIGNING MATERIAL -- WARN" >&2 + echo "future dkms runs will not use correct signing key" >&2 rm -rf "${CA_TMPDIR}" /var/lib/dkms/mok.key /var/lib/shim-signed/mok/MOK.priv } @@ -318,7 +318,6 @@ function install_nvidia_gpu_driver() { execute_with_retries "apt-get install -y -q --no-install-recommends dkms" execute_with_retries \ "apt-get install -y -q --no-install-recommends nvidia-driver-pinning-${NVIDIA_DRIVER_VERSION_PREFIX}" - execute_with_retries "apt-get update" configure_dkms_certs execute_with_retries \