在 Centos 6 上需要新的 GLIBC 才能在 GPU 上使用 PyTorch
我正在使用執行 Centos 6 的超級電腦設施。我要使用的節點有 3 Tesla V100。問題是安裝在該節點上的 GLIBC 版本與我必須使用的最新版本的 PyTorch 不兼容。
我沒有根。因此,我需要一種從使用者級別使用另一個 GLIBC 的方法。我可以與系統管理員交談並從 root 做一些事情(比如使用 Docker 或類似的東西),但我無法在全球範圍內重新安裝 OS 或 GLIBC。我曾嘗試在沒有 root 的情況下自行安裝 GLIBC,但無法正確安裝;它不起作用。這需要太多時間,並且找不到正確的教程。
我有一些想法,比如嘗試執行一個可以訪問節點並使用其他作業系統的容器;當我預定的計算時間結束時,我可以按照我得到它的方式離開節點;為超級電腦設施的下一個使用者。
我也在考慮 chroot;下載 Centos 8 的 ISO 並 chroot 到其中,但我不知道它是否會使用主機作業系統使用的 GLIBC 或 Centos 8 GLIBC。
你建議我做什麼?你認為 Docker 會滿足我的需求嗎?還是其他容器化解決方案?繼續嘗試安裝其他 GLIBC?
我曾嘗試在沒有 root 的情況下自行安裝 GLIBC,但無法正確安裝;它不起作用。這需要太多時間,並且找不到正確的教程。
與現有的並行安裝不同的 libc 太困難了。我不會嘗試,尤其是在共享系統上。
容器是 chroots 但更好,具有更多的隔離性。使用容器而不是 chroot,這樣您就可以利用工具和預先存在的圖像。
但是,容器主機(或虛擬機)有核心要求。您將需要 nvidia 的 Linux 核心驅動程序。支持最近的發行版,例如通過 DKMS 的 EL 7 和 EL8。
是的,它可以使用容器中的 GPU。請參閱如何在 RHEL 8 中裸機上的容器中啟用 NVIDIA GPU以及從中提取的 shell 腳本。這向您展示瞭如何安裝
kmod-nvidia-latest-dkms
和nvidia-container-toolkit
,以及一些SELinux 策略來保持容器隔離。我認為您無法逃脫主機作業系統的作業系統升級。CentOS 6 生命週期結束,不再接收安全更新。此 GPU 所需的核心驅動程序僅在以後的作業系統上受支持。Red Hat 最喜歡的容器工具 podman、podman 也不存在於舊作業系統上。