對於Linux作業系統虛擬化型GPU執行個體,安裝了GRID驅動和低版本的CUDA後,可能會因為CUDA版本受限於GPU的驅動版本,導致依賴高版本CUDA的應用程式在該低版本CUDA環境中運行時報錯,本文介紹這種情況的解決方案。
問題現象
對於Linux作業系統虛擬化型GPU執行個體,安裝了GRID驅動和低版本的CUDA(例如版本為11.4)後,運行依賴高版本CUDA的應用程式(本文以依賴CUDA 12.2版本的matrixMul應用程式為例)時報錯,提示資訊如下:

問題原因
由於CUDA版本受限於GPU的驅動版本,對應關係請參見驅動版本與CUDA版本的對應表,從而導致依賴高版本CUDA(例如CUDA 12.2)的應用程式無法在低版本CUDA(例如CUDA 11.4)環境中運行。本文採用升級CUDA相容工具包的方法來解決低版本CUDA環境能正常運行依賴高版本CUDA的應用程式。
解決方案
本方案以Ubuntu 20.04作業系統GPU執行個體為例。
遠端連線Linux作業系統GPU執行個體。
具體操作,請參見通過密碼或密鑰認證登入Linux執行個體。
執行以下命令,下載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執行以下命令,從指定
.deb檔案提取檔案並解壓縮到指定目錄。重要本樣本以解壓到
/home目錄為例,請替換為您的實際目錄路徑。sudo dpkg -x cuda-compat-12-2_535.104.05-1_amd64.deb /home依次執行以下命令,配置高版本CUDA的環境變數。
sudo echo "export LD_LIBRARY_PATH=/home/usr/local/cuda-12.2/compat:$LD_LIBRARY_PATH" >> ~/.bashrc source ~/.bashrc執行應用程式驗證運行是否正常。
本樣本以執行
matrixMul應用程式為例,顯示如下圖所示,表示應用程式運行成功。