使用 eGPU 搭建機器學習工作站
原本有一張 AMD Vega 64 用於擴展 MBP 外接三螢幕,一張 Nvidia 1080 Ti 用於大主機。上個月入手 Nvidia 4090 之後,這張 1080 Ti 就閒置了。最近又有突發事件是上週裝 Vega 64 的 Akitio Node Pro 壞了。除了新購了 Razer Core X Chroma,另從朋友那裡買了一台 Akitio Node 重新佈局一下。
目前是:
- 大主機:Nvidia 4090
- 小主機(Intel NUC):Nvidia 1080 Ti + Akitio Node
- MBP:AMD Vega 64 + Razer Core X Chroma
啟用 TB3 及顯卡
我的 Intel NUC 中是 Arch Linux,故參考官方 Wiki 配置驅動。因為機器是在自己家裡,不是公司,比較不擔心 DMA attack,所以採用暴力解法:先建一個新的 /etc/udev/rules.d/99-removable.rules
然後寫入:
ACTION=="add", SUBSYSTEM=="thunderbolt", ATTR{authorized}=="0", ATTR{authorized}="1"
重開機後即可啟用 thunderbolt 3 設備。通過 boltctl
可以看到設備資訊。
CUDA
要運行 CUDA 還需要安裝 Nvidia 驅動:
sudo pacman -S cuda nvidia
之後可以通過 nvidia-smi
確定是否能驅動顯卡運行。關於 CUDA 部分,我使用 PyTorch 來檢測。官方網站有提供安裝指令配置,我是選擇最新版的 CUDA 搭配 pip 安裝。
import torch
torch.cuda.is_available()
如果是 True
那就沒有問題了,一切運作良好。
Monero 挖礦
另外用挖礦來檢測一下顯卡功能。我曾經挖過一陣子的 Monero / XMR 幣,用的工具是 XMRig;雖然現在 Arch Linux 有提供二進位文件,但我喜歡自己搞。本體 XMRig 與 CUDA plugin 需要分開編譯。
git clone <repo>
cd <repo>
mkdir build
cd build
cmake ..
make
完成後,從 CUDA-plugin 裡面複製 libxmrig-cuda.so
到 XMRig 本體資料夾。設定檔的部分可用官方生成器 configuration wizard 來產生。一開始的設定檔挺短的,不過 XMRig 好像會自己去填充必要資訊。
Nvidia 1080 Ti 的 hash-rate 一如當年也是 830 H/s 上下。另外在我的大主機上測試下,AMD R9 的 hash-rate 是 15300 H/s 而 Nvidia 4090 是 4500 H/s,差距十分驚人。