全部產品
Search
文件中心

Elastic GPU Service:依賴高版本CUDA的應用程式在低版本CUDA環境中運行時報錯

更新時間:Aug 23, 2024

對於Linux作業系統虛擬化型GPU執行個體,安裝了GRID驅動和低版本的CUDA後,可能會因為CUDA版本受限於GPU的驅動版本,導致依賴高版本CUDA的應用程式在該低版本CUDA環境中運行時報錯,本文介紹這種情況的解決方案。

問題現象

對於Linux作業系統虛擬化型GPU執行個體,安裝了GRID驅動和低版本的CUDA(例如版本為11.4)後,運行依賴高版本CUDA的應用程式(本文以依賴CUDA 12.2版本的matrixMul應用程式為例)時報錯,提示資訊如下:

Dingtalk_20240627162412.jpg

問題原因

由於CUDA版本受限於GPU的驅動版本,對應關係請參見驅動版本與CUDA版本的對應表,從而導致依賴高版本CUDA(例如CUDA 12.2)的應用程式無法在低版本CUDA(例如CUDA 11.4)環境中運行。本文採用升級CUDA相容工具包的方法來解決低版本CUDA環境能正常運行依賴高版本CUDA的應用程式。

解決方案

本方案以Ubuntu 20.04作業系統GPU執行個體為例。

  1. 遠端連線Linux作業系統GPU執行個體。

    具體操作,請參見通過密碼或密鑰認證登入Linux執行個體

  2. 執行以下命令,下載CUDA 12.2相容工具包。

    本樣本以下載Ubuntu 20.04系統X86_64架構的相容工具包為例,您可以根據GPU執行個體的作業系統版本和架構從CUDA相容包下載地址中選擇匹配的相容工具包下載即可。

    sudo wget https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2004/x86_64/cuda-compat-12-2_535.104.05-1_amd64.deb
  3. 執行以下命令,從指定.deb檔案提取檔案並解壓縮到指定目錄。

    重要

    本樣本以解壓到/home目錄為例,請替換為您的實際目錄路徑。

    sudo dpkg  -x cuda-compat-12-2_535.104.05-1_amd64.deb /home
  4. 依次執行以下命令,配置高版本CUDA的環境變數。

    sudo echo "export LD_LIBRARY_PATH=/home/usr/local/cuda-12.2/compat:$LD_LIBRARY_PATH" >> ~/.bashrc
    source ~/.bashrc
  5. 執行應用程式驗證運行是否正常。

    本樣本以執行matrixMul應用程式為例,顯示如下圖所示,表示應用程式運行成功。

    Dingtalk_20240627165231111.jpg