Linux

為什麼 GPU 可以從 Linux 主機上執行的 docker 容器訪問,但不能在 Windows 或 MacOS 主機上訪問?

  • June 29, 2020

最新版本的 docker(或任何版本的 nvidia-docker)允許從 docker 容器中直接(?)訪問主機 GPU,並可以完全訪問 CUDA API。這在部署複雜的機器學習推理伺服器時非常方便。

但是,據我所知,目前僅支持 Linux 主機。

為什麼微軟和蘋果不能加強他們的遊戲並提供相同水平的支持?也就是說,在 Linux 上使用了什麼技巧,這在其他作業系統中顯然難以模仿?

Linux 上的 Docker 直接使用託管核心,但 Windows 上的 Docker 實際上執行在 VM(由 Windows 中的 Hyper-V 託管)中,因為 Windows 沒有可供 Docker 直接互動的 Linux 核心。因此,從 Windows 上的 docker 容器訪問主機 GPU 需要從來賓 VM 中的 docker 容器進入託管 Windows 作業系統以與 GPU 驅動程序進行通信。需要 Microsoft 和 GPU 製造商的許多特殊開發才能正確支持所有這些。

引用自:https://serverfault.com/questions/1003073