本文將會介紹如何在多節點環境下設定Docker使用NVIDIA HPC-Benchmarks執行HPL及HPCG測試的環境。
請見SergioMEV所作的slurm-for-dummies,如果節點數量很少,你可以設定讓control node也允許計算。見Danduk82在StackOverflow的回答
此處裝525版,建議先至NVIDIA驅動程式下載處選擇適合的版本。
首先要檢查是否有我們要的版本的預編譯檔
如果有525這個數字的話就可以直接用apt安裝了
如果沒有的話,也可以從剛剛的NVIDIA驅動程式下載處下載安裝程式,然後就直接執行就行了。
安裝完之後,測試看看
如果顯示出每個GPU的狀態就沒問題了。
首先,設定好apt的repository
接著就可以安裝需要的package
安裝完後就可以測試看看,執行內建的hello-world image
這個模組能讓docker容器更有效率的運用NVIDIA的GPU
首先,一樣要設定好apt repository。
接著要更新apt
然後就可以安裝了
接著要設定docker daemon讓他使用container toolkit
重啟
最後就可以測試看docker有沒有辦法找到GPU了
驗證版本
因為我們用的環境是Intel的節點,所以就安裝Intel MPI,而不是OpenMPI(要裝OpenMPI也行,但比較慢)。為此,我們安裝了OneAPI並加上HPC Toolkit。
首先設定APT repository
更新APT
安裝OneAPI Base Toolkit
安裝HPC Toolkit
最後看看有沒有裝成功
裝好之後要弄好~/hostfile
,slot=4
代表有4個GPU,以下是一個範例
見NVIDIA HPC Benchmark Container Overview
如果有裝NVIDIA Container Toolkit的話,裡面singularity如果有--nv
的flag,可以再加一個--nvccli
例如在每個節點上有4個GPU,共16個節點的環境下可以這樣
或是不想用srun的話可以這樣
Note
在執行之前,要先編輯好~/hostfile