CUDA 工具包對於使用 NVIDIA GPU 的開發人員來說至關重要,它為 GPU 加速應用程式提供了全面的開發環境。它包括庫、調試和優化工具、編譯器以及運行時庫,用於在支援 CUDA 的 GPU 上建置和部署應用程式。在 Ubuntu 上安裝 CUDA 工具包可讓您利用平行運算的強大功能來執行機器學習、科學計算和即時資料處理等任務。
要在 Ubuntu 24.04、22.04 或 20.04 上安裝 CUDA Toolkit,您可以使用 NVIDIA 的官方 APT 儲存庫映像。此方法可確保您能夠存取最新版本的工具包以及 NVIDIA 發布的任何更新或修補程式。本指南將逐步引導您完成安裝過程。
刪除現有的 CUDA 和 NVIDIA 安裝
安裝 NVIDIA 驅動程式時,從頭開始至關重要,尤其是在規劃升級或變更版本時。這意味著從系統中刪除任何現有的 NVIDIA 安裝套件。此步驟有助於防止重疊安裝引起的潛在衝突和問題。但是,如果您之前沒有安裝過 NVIDIA 驅動程序,請跳過本節並繼續下一節。
注意:如果您擁有先前未安裝任何 NVIDIA 或 CUDA 的全新系統,則可以跳過此建議。但是,如果您已經安裝了 NVIDIA 或 CUDA,那麼首先將其刪除至關重要。否則可能會導致與軟體相關的安裝問題或系統不穩定。
刪除透過 APT 指令安裝的 NVIDIA 軟體包
如果您使用 APT 套件管理器安裝了 NVIDIA 驅動程序,則可以使用單一命令從系統中刪除 NVIDIA 的所有痕跡。此命令會搜尋所有與 NVIDIA 相關的軟體包並將其從系統中清除。在終端機中執行以下命令:
sudo apt autoremove cuda* nvidia* --purge
此命令使用 apt 命令的 autoremove 選項,該選項會刪除為滿足其他套件的依賴關係而自動安裝但現在不再需要的套件。 nvidia* 模式符合所有以「nvidia」開頭的套件。 –purge 選項告訴 apt 不僅刪除軟體包,還刪除它們的設定檔。
刪除透過 Runfile 安裝的 NVIDIA 驅動程式
如果您使用以下方式安裝了 NVIDIA 驅動程式 .run
文件(通常不建議這樣做,因為有更好的替代方案,例如 NVIDIA CUDA 儲存庫),您需要使用不同的方法來刪除它們。
若要卸載執行檔案類型的安裝,請使用下列命令:
sudo /usr/bin/nvidia-uninstall
此指令執行執行檔安裝中包含的 nvidia-uninstall 腳本。此腳本可確保徹底刪除透過執行檔案安裝的 NVIDIA 驅動程式。
刪除透過 Runfile 安裝的 CUDA 工具包
如果您使用執行檔安裝了 CUDA 工具包,則必須將其刪除。使用與卸載 NVIDIA 驅動程式類似的方法。若要刪除 CUDA 工具包,請執行下列命令:
sudo /usr/local/cuda-X.Y/bin/cuda-uninstall
將 XY 替換為您已安裝的 CUDA 工具包的版本號碼。使用此命令執行 CUDA 工具包的執行檔安裝隨附的 cuda-uninstall 腳本。此腳本可確保從系統中徹底刪除 CUDA 工具包。
透過APT指令安裝CUDA工具包
如前所述,直接從 NVIDIA CUDA 儲存庫安裝 CUDA 是最有效的方法。此方法可確保您成為第一個收到任何新的增強功能、錯誤修復、安全性更新或功能的人。
為 NVIDIA CUDA PPA 準備您的系統
在深入安裝過程之前,我們必須確保您的系統已準備就緒。這涉及安裝幾個必要的軟體包。這些軟體包可能已經在您的系統上,但仔細檢查並沒有什麼壞處。在終端機中執行以下命令:
sudo apt install build-essential gcc dirmngr ca-certificates software-properties-common apt-transport-https dkms curl -y
此命令會安裝以下步驟所需的幾個軟體包。這些軟體包包括dirmngr(用於管理金鑰)、ca-certificates(用於處理SSL 憑證)、software-properties-common(用於管理軟體儲存庫)、apt-transport-https(用於安全性軟體包下載)、dkms(用於管理核心模組) )和curl(用於從互聯網下載檔案)。
導入 NVIDIA CUDA PPA 的 GPG 金鑰
在軟體安裝過程中,安全性是重中之重。為了驗證我們要安裝的軟體包的真實性和完整性,我們必須匯入特定發行版本的 GPG 金鑰。儲存庫使用此金鑰對套件進行簽署。透過導入它,我們指示我們的系統信任該金鑰已簽署的套件。
首先,對於 Ubuntu 24.04 Numble Numbat 版本,使用以下命令:
curl -fSsL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/3bf863cc.pub | sudo gpg --dearmor | sudo tee /usr/share/keyrings/nvidia-drivers.gpg > /dev/null 2>&1
其次,對於 Ubuntu 22.04 Jammy Jellyfish 版本,請使用以下命令:
curl -fSsL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub | sudo gpg --dearmor | sudo tee /usr/share/keyrings/nvidia-drivers.gpg > /dev/null 2>&1
最後,對於 Ubuntu 20.04 Focal Fossa 版本,請改用以下指令:
curl -fSsL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub | sudo gpg --dearmor | sudo tee /usr/share/keyrings/nvidia-drivers.gpg > /dev/null 2>&1
導入 NVIDIA 儲存庫
GPG 金鑰就位後,我們現在可以將 NVIDIA 儲存庫新增至我們的系統。該儲存庫包含我們安裝 CUDA 所需的套件。
首先,對於 Ubuntu 24.04 Numble Numbat,使用以下命令:
echo 'deb [signed-by=/usr/share/keyrings/nvidia-drivers.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/ /' | sudo tee /etc/apt/sources.list.d/nvidia-drivers.list
其次,對於 Ubuntu 22.04 Jammy Jellyfish,使用以下命令:
echo 'deb [signed-by=/usr/share/keyrings/nvidia-drivers.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /' | sudo tee /etc/apt/sources.list.d/nvidia-drivers.list
最後,對於 Ubuntu 20.04 Focal Fossa,請改用以下指令:
echo 'deb [signed-by=/usr/share/keyrings/nvidia-drivers.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /' | sudo tee /etc/apt/sources.list.d/nvidia-drivers.list
刷新 NVIDIA CUDA 工具包 PPA 的軟體包列表
現在我們已經新增了 NVIDIA 儲存庫,我們必須更新系統的軟體套件清單。這可以確保我們的系統知道 NVIDIA 儲存庫中可用的新軟體包。為此,請執行以下命令:
sudo apt update
此命令從所有配置的存儲庫中獲取最新的軟體包信息,包括新添加的 NVIDIA 存儲庫。
安裝 CUDA 工具包
一切設定完畢後,我們就可以使用最新的 NVIDIA 驅動程式來安裝 CUDA。但在此之前,最好先檢查可用的驅動程式版本。您可以使用 APT 搜尋命令來執行此操作:
apt search cuda-drivers
此命令列出所有可用的 CUDA 版本。您可以選擇最適合您需求的一種。在本指南中,我們將示範如何安裝最新版本。
或者,您可以搜尋 cuda 和 nvidia 驅動程式:
sudo apt search cuda-drivers
sudo apt search nvidia-driver
現在,您可以安裝您想要使用的 CUDA/NVIDIA 版本。記得用 545、535、530、525、520、515 等替換 550,取決於您的喜好。
sudo apt install nvidia-driver-550 cuda-drivers-550 cuda
請記住,上面的命令只是一個範例。如前所述,您可以使用 APT 搜尋安裝所需的版本。
安裝後,您需要重新啟動系統:
sudo reboot
CUDA 入門
在 Ubuntu Linux 上開始 CUDA 之旅可能會令人興奮。為了幫助您更順利地走上這條道路,這裡有一些提示和技巧,可以增強您的體驗並提高您的工作效率。
了解 GPU 功能 與 NVIDIA CUDA
在深入 CUDA 程式設計之前,了解 GPU 的功能至關重要。不同的 GPU 支援不同版本的 CUDA,並且具有不同的核心數量、記憶體大小和其他功能。您可以使用 nvidia-smi
命令取得有關 GPU 的詳細資訊:
nvidia-smi
此命令提供有關 GPU 名稱、總記憶體、CUDA 版本等資訊。了解 GPU 的功能可以幫助您編寫更有效率的 CUDA 程式。
CUDA 工具包文檔
CUDA 工具包擁有大量文檔,包括程式設計指南、最佳實踐指南和 API 參考。熟悉這些資源會非常有益。您可以在以下位置線上存取文檔 NVIDIA CUDA 工具包文檔 頁。
CUDA 範例
CUDA 工具包包含演示 CUDA 編程各個方面的範例程序,從基本概念到高級技術。這些範例可以成為很好的學習資源。安裝 CUDA Toolkit 後,您可以在 /usr/local/cuda/samples 目錄中找到它們。
更新 NVIDIA Cuda 工具包
NVIDIA 定期發布 CUDA 工具包的新版本,通常包括效能改進、錯誤修復和新功能。保持 CUDA 安裝最新可確保您可以使用這些增強功能。請記住,您已將系統設定為直接從 NVIDIA CUDA 儲存庫接收更新,因此您可以使用 APT 套件管理器輕鬆更新 CUDA 安裝:
sudo apt update
sudo apt upgrade
使用 NVIDIA CUDA 探索 CUDA 庫
CUDA 提供了多個庫,這些庫為日常計算任務(如線性代數、傅立葉變換等)提供高級功能。 cuBLAS、cuFFT 和 cuDNN 等函式庫經過高度最佳化,節省時間和精力。 CUDA 工具包文件包含有關這些庫的更多詳細資訊。
調試和分析 CUDA 程式 Ubuntu
調試和分析是 CUDA 編程的重要方面。像 cuda-gdb 這樣的工具和 nvprof
可以幫助您調試 CUDA 程式並分析其效能。這些工具是 CUDA 工具包的一部分,對於優化 CUDA 程式非常有價值。
結束語
使用 NVIDIA 的官方 APT 儲存庫在 Ubuntu 系統上安裝 CUDA 工具包後,您可以開始開發利用 GPU 加速功能的高效能應用程式。此設定可確保您擁有滿足 CUDA 開發需求的最新工具和程式庫。定期更新您的工具包,以利用 NVIDIA 提供的最新改進和最佳化,使您能夠突破 Ubuntu 系統上並行運算的界限。
22.04 做了:
sudo apt autoremove cuda* nvidia* –purge
sudo apt install build-essential gcc dirmngr ca-certificates software-properties-common apt-transport-https dkms curl -y
捲曲-fSsL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub | sudo gpg –親愛的| sudo tee /usr/share/keyrings/nvidia-drivers.gpg > /dev/null 2>&1
echo 'deb [簽署者=/usr/share/keyrings/nvidia-drivers.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /' | sudo tee /etc/apt/sources.list.d/nvidia-drivers.list
sudo apt install nvidia-driver-535 cuda-drivers-535 cuda
但得到:
〜$ sudo apt install nvidia-driver-535 cuda-drivers-535 cuda
閱讀包裹清單...完成
建構依賴樹...完成
讀取狀態資訊...完成
某些軟體包無法安裝。這可能意味著您有
請求不可能的情況或如果您正在使用不穩定的
一些必需的套件尚未創建的發行版
或已移出傳入。
以下資訊可能有助於解決問題:
以下軟體包具有未滿足的依賴關係:
cuda-drivers-535 :取決於:nvidia-kernel-source-535 (>= 535.183.06),但它不可安裝或
nvidia-kernel-open-535 (>= 535.183.06) 但無法安裝
nvidia-dkms-535 :取決於:nvidia-kernel-source-535,但它不可安裝或
nvidia-kernel-open-535 但無法安裝
nvidia-driver-535 :取決於:nvidia-kernel-source-535 (= 535.183.06-0ubuntu1) 但它不可安裝或
nvidia-kernel-open-535 (= 535.183.06-0ubuntu1) 但無法安裝
nvidia-driver-560-open :取決於:libnvidia-gl-560 (= 560.35.03-0ubuntu1) 但它不可安裝
取決於:nvidia-dkms-560-open (= 560.35.03),但無法安裝
取決於: nvidia-kernel-common-560 (= 560.35.03) 但無法安裝
依賴:libnvidia-compute-560 (= 560.35.03-0ubuntu1) 但它不可安裝
依賴:libnvidia-extra-560 (= 560.35.03-0ubuntu1) 但它不可安裝
取決於: nvidia-compute-utils-560 (= 560.35.03-0ubuntu1) 但它不可安裝
依賴:libnvidia-decode-560 (= 560.35.03-0ubuntu1) 但它不可安裝
依賴:libnvidia-encode-560 (= 560.35.03-0ubuntu1) 但它不可安裝
取決於:nvidia-utils-560(= 560.35.03-0ubuntu1),但無法安裝
取決於: xserver-xorg-video-nvidia-560 (= 560.35.03-0ubuntu1) 但它不可安裝
依賴:libnvidia-cfg1-560 (= 560.35.03-0ubuntu1) 但它不可安裝
依賴:libnvidia-fbc1-560 (= 560.35.03-0ubuntu1) 但它不可安裝
推薦:libnvidia-compute-560:i386 (= 560.35.03-0ubuntu1)
推薦:libnvidia-decode-560:i386 (= 560.35.03-0ubuntu1)
推薦:libnvidia-encode-560:i386 (= 560.35.03-0ubuntu1)
推薦:libnvidia-fbc1-560:i386 (= 560.35.03-0ubuntu1)
推薦:libnvidia-gl-560:i386 (= 560.35.03-0ubuntu1)
E:無法修正問題,您持有破損的包裹。
您目前的儲存庫中似乎沒有 NVIDIA 535 驅動程式的軟體套件。要驗證這一點,您可以嘗試使用以下命令搜尋包:
apt-cache search nvidia-kernel-source
或者
apt-cache search nvidia-kernel-source-535
這將向您顯示必要的軟體包是否可用。如果沒有任何反應,則可能表示目前儲存庫配置中不存在 535 驅動程式。
據我所知,NVIDIA 535 驅動程式要到 2026 年 6 月才會在 Linux 上達到生命週期終止 (EOL),因此它們仍應受到支援。如果軟體包不可用,則可能是儲存庫存在問題或臨時故障。
讓我知道您發現了什麼,如果需要,我們可以進一步排除故障!