對于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
應用程序為例,顯示如下圖所示,表示應用程序運行成功。
文檔內容是否對您有幫助?