本篇撰寫於 2024/09/07,到目前為止各種所需的版本如下 :
ubuntu : 24.04
Python : 系統預設為 3.12.3
cuda : 最新可支援的版本 12.6
tensorflow : 最新版為 2.17.0
PyTorch : 最新版為 4.1
安裝相關驅動程式
底下會全自動安裝相關驅動程式,但不會安裝顯卡驅動
sudo ubuntu-drivers autoinstall
安裝nVidia 顯卡驅動程式 for Ubuntu 24.04
nVidia 已開放顯卡驅動程式原始碼,open source 的效能跟官網的驅動不相上下,建議安裝 open source driver。
🔒 完整內容請註冊並登入會員。
免費註冊登入gpu-unlock
AI 模型在顯示卡上做矩陣運算時,常見的做法是使用 FP16 或 BF16 格式輸入,然後再用精度較高的 FP32 累加結果,而 GeForce 卡在這種模式下只跑專業卡一半的速率。
gpu-unlock 是一個開源的 NVIDIA 顯示卡解鎖工具,主要用途是讓部分 GeForce 顯示卡提高 Tensor Core 的特定運算吞吐量,尤其是 FP16、BF16 等運算。它不是一般的顯示卡超頻工具,也不會直接增加顯示卡的 VRAM,而且不會增加電力消耗。
GPU Unlock 的做法是,在 NVIDIA 驅動程式接管顯示卡之前,先透過 Linux 核心模組改寫 GPU 內部的速度選擇設定,接著讓顯示卡重置一次,再交給原本的 NVIDIA 驅動正常初始化。整個過程有幾個特點:
- 不需要超頻,也不必刷顯示卡 BIOS
- 不修改 NVIDIA 原廠驅動程式,驅動更新後也不用重新打補丁
- 主要改善 FP16、BF16 等矩陣運算效能,也能讓部分 TF32 工作負載受益
- 一般 FP32 與純 INT8 矩陣運算的直接加速效果不明顯
經測試 RTX 3080 可增加 87% 的算力。
官方網址如下 : https://github.com/Zagitta/gpu-unlock
支援型號
支援 RTX 30、40、50 系列安裝
安裝相關套件
安裝 gpu-unlock 時,需進行編譯,編譯時需使用如下套件
sudo apt update sudo apt install -y git build-essential dkms linux-headers-$(uname -r) devscripts debhelper
下載及安裝 gpu-unlock
依序使用如下步驟下載及安裝
git clone https://github.com/Zagitta/gpu-unlock cd gpu-unlock make install
修改 grub
sudo vim /etc/default/grub,在 GRUB_CMDLINE_LINUX_DEFAULT 新增 gpu_unlock_targets=all
GRUB_CMDLINE_LINUX_DEFAULT="gpu_unlock.targets=all"
儲存後,執行 sudo update-grub,然後重新啟動。
測試是解鎖
執行如下指令,如果有 gpu_unlock: unlocked,表示解鎖成功
modinfo -n gpu_unlock sudo journalctl -k -b | grep -i gpu_unlock
解鎖成功後, tensorflow 及 pytorch 並沒有比較快,但 Comfyui 明顯會比較快。
