如何使用 GTX750 或 1050 顯示卡安裝 CUDA11+

2023-11-08 18:00:22

前言

        由於相容性問題,使得我們若想用較新版本的 PyTorch,通過 GPU 方式訓練模型,也得更換較新版本得 CUDA 工具包。然而 CUDA 的版本又與電腦顯示卡的驅動程式版本關聯,如果是低版本的顯示卡驅動程式安裝 CUDA11 及以上肯定會失敗。

        比如 GTX750Ti 或 GTX1050Ti,出廠的驅動程式版本在 450 以下,也就只能裝 CUDA9 和 CUDA10 之類的版本。那麼有什麼方法用前面這兩種顯示卡安裝 CUDA11 以上的版本呢?下面就通過更新顯示卡驅動程式來完成這一任務,其中包括檢視版本,各種版本的關聯,如何下載安裝等白話文方式演示。

 

檢視顯示卡驅動版本

        這裡 強調一下,要安裝 CUDA 的條件是電腦有獨立顯示卡,並且顯示卡是英偉達也就是 N 卡。保證這一點我們可以通過桌面右鍵進入 「NVIDIA 控制面板」 和 "nvidia-smi.exe" 命令的兩種方式檢視顯示卡的驅動程式版本號。

NVIDIA 控制面板

        點選 「系統資訊」,其中 「顯示」 下的 「專案」 就是顯示卡型號,「細節」 裡主要檢視 「驅動程式版本」 和 「驅動器型別」,後面要根據顯示卡型號和驅動器型別下載新版本的驅動程式。也可以在 「元件」 的 「3D 設定」 下檢視 「NVCUDA64.DLL」,這就是當前驅動支援的 CUDA 最大版本。

 

NVIDIA-SMI

        這個英偉達顯示卡在 Windows 下的一個監控工具,通過 cmd 可以不僅可以檢視當前顯示卡的基本資訊,也能檢視 GPU 實時的執行情況。通過 cmd 輸入 「nvidia-smi」 檢視最新資訊, "nvidia-smi -l 2" 檢視實時資訊 (2 就是 2 秒重新整理一次),工具的引數上面圖片有簡單標註。

 

如果 cmd 輸入後找不到該命令,需要把 「C:\Program Files\NVIDIA Corporation\NVSMI」 (監控工具預設位置) 新增到 "path" 的環境變數中。

 

顯示卡驅動下載

        可以進入英偉達網站 www.nvidia.com/Download/Find.aspx?lang=en-us,選擇顯示卡型號,特別注意 "Windows Driver Type",這個就是上面檢視的 「驅動器型別」。一般以前出廠 windows10 電腦都是 Standard,切記一定要根據驅動器型別下載,不然後面安裝顯示卡驅動會報以下錯誤。

This DCH driver package is not compatible with the currently installed version of Windows. 
This system is configured to require a Standard driver package. The correct driver 
can be downloaded from by selecting the "Standard" option under the "Windows Driver Type" menu. 

 

        從上面 GTX 750 Ti 的標準型別搜尋結果看,最新的版本是 472.12,而 DCH 有 500 以上的更新的版本。如果一定要用相當新的版本,官網也提供了將標準驅動型別修改為 DCH 的,但 win 系統版本有一個限制,具體可以在網上查詢這裡看以後再更新說明。不過呢 472 的驅動程式版本其實完全夠用,可以搭配最大支援 CUDA11.0 到 CUDA12.0 之間的版本,也就意味著我們可以用 1.10 上下的 pytorch 的 cu 版本,現在最新也才 2 點幾,像之前火熱的 AI 繪畫 "stable diffusion" 和 AI 音色克隆 「so-vits-svc」 就可以搭起來跑了。

 

CUDA 下載

        已經更新完顯示卡驅動程式後,再重複前面檢視版本號方式。看到驅動程式版本號和最大支援 CUDA 版本,記錄下來。然後進入官網的 CUDA Release Notes,也可以檢視到驅動程式版本與各種 CUDA 版本的對應關係。

 

上面的 「CUDA Toolkit」 下 CUDA 11.4 有五個版本,其中帶 Update 的是正式版釋出後的迭代版本,依次是 11.4.1 一直到 11.4.4,最右邊就是 WIN 的最低驅動程式版本。根據我們查詢的 472.12,當然 Updae4 也可以,最好按他們要求選 11.4.2 或以下。然後進入英偉達開發者網 developer.nvidia.com/cuda-toolkit-archive,選擇後下載,以及 CUDNN 也要下載再依次安裝。(這個在前面文章有介紹此處就略過了)

 

 

PyTorch 版本下載

       前面把 CUDA 和 CUDNN 安裝設定好之後,環境變數會自動新增,然後通過 cmd 輸入 「nvcc -V」 檢視 到 CUDA 的版本表示安裝無誤,接著就是去 download.pytorch.org/whl/torch_stable.html 檢視 CUDA 與 pytorch 對應版本了,也可以直接下載 whl。cu 表 CUDA 版本,cpu 表 CPU 版本,由於沒有 11.4 的我們可以選擇 cu113 的搜尋,然後挑選系統版本,Python 版本。

 

後面如果需要 torchaudio、torchtext 等庫,也一定要找相對應版本的,不然不是無法用 gpu 執行就是版本不相容,pip 自動把 torch 調高或調低,甚至直接改成 cpu 版,而有時候就只是一個小版本都不支援,這一點很惱火。

GPU 執行

        驅動、工具包、依賴庫等一切準備好後,在專案執行前,可以通過以下程式碼檢測一下 gpu 是否可用。其實這裡想說一下,我感覺是在小模型訓練時,GPU 加速並沒有比 CPU 快多少,但是有一個好處。如果是用 CPU 做訓練,跑起來後設定一般的電腦可能就動不了。而如果丟給 GPU,負載就給到他了,我可以再繼續調其他程式碼或放放音樂啥,只要不玩遊戲或做什麼 3D 預覽渲染啥的。

import torch

print(torch.cuda.is_available())
print(torch.__version__)
exit()