最近遇到需要升級DGX2的情況
DGX2 是什麼?
就是一台linux 主機
有16張V100的顯示卡
有著超強風扇效能
以及超重重量181公斤(說明書上說的,實際感覺更重...)
以下步驟都為參考
實際情況要依照當下主機情況作出調整
1. 找到正確的文件
例如:
https://docs.nvidia.com/dgx/dgx-os-6-user-guide/installing_on_ubuntu.html
原本我找到的是 dgx-os-5版本,只有些微差異,也許還是能用
但重點是有沒有辦法一步一步照著文件來
2. 確保 apt 軟體資源正確
查看 /etc/apt/sources.list.d/ 裡面的資源
把有 cuda ,bionic ,dgx 這些文字的檔案都移動到暫存資料夾
將 /etc/apt/sources.list 裡面改成
deb http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
3. 確保 Ubuntu 是 22.04 與 Linux 核心 Kernel 是 5.15 LTS (應該說是 5.15.0-1070-nvidia)
重點是Linux核心版本
如果核心版本不對
可以等到安裝到 Install NVIDIA CUDA driver.的 linux-modules-nvidia-525-server-nvidia
因為安裝完 linux-modules-nvidia-525-server-nvidia 後會自動安裝 5.15.0-1070-nvidia 的核心
安裝後要確保開機預設是這個核心
可以用
cat /boot/grub/grub.cfg | grep "menuentry"
查看選項
如果有更高級的核心版本排在前面
則需要用 apt 移除,也可以到機房手動切換grub選單到指定核心,然後再移除其他核心也可以
只要移除比 5.15.0-1070-nvidia 更高的版本即可
4. 移除目前不必要所有其他資源
sudo apt-get purge nvidia-*
sudo apt-get purge libnvidia-*
5. 開始按照文件一步一步進行升級
有選項基本上就是Y
驅動可以安裝到最新
6. 完成到最後記得不只是確認 nvidia-smi 可不可以顯示卡出來
還需要開 docker 進去看看 torch 是否可以抓到GPU
例如:執行 python >>>
import torch
torch.cuda.is_available() 必須顯示 True
這樣就完成了
最後一定要進入 docker 後確認能抓得到
python也要能夠抓得到
關於linux核心的題外話!
注意!
安裝 linux-modules-nvidia-XXX 時候
這邊如果沒有對應核心,也會自動安裝新核心
如果安裝了新核心,開機預設會用最高版本去開機,這點要非常注意
因為核心變了,很多東西會出問題
如果核心不小心提高了版本
可以用指令找出要移除的核心
dpkg --list | grep linux-image
dpkg --list | grep linux-headers
然後再一個一個移除
sudo apt-get purge linux-image-XXXXXX
然後再確認GRUB 啟動選單的選項是不是還有非必要版本的
cat /boot/grub/grub.cfg | grep "menuentry"
如果開機預設有更高版本
就需要注意了
這邊是因為通常執行作業
人都不在機房
如果DGX2開機選錯了核心
人就必須要去機房才能重開了
留言板
歡迎留下建議與分享!希望一起交流!感恩!