当你在一台服务器上使用 GPU 时,你面对的并不是单一的软件或硬件,而是围绕 NVIDIA GPU 构建的一整套软件栈。从最底层的物理硬件到最上层的 Kubernetes 调度,大致可以分为 5 层:
硬件层 → Linux 内核驱动层 → 用户态库/工具层 → 容器运行时层 → Kubernetes / HAMi 调度层
理解这个分层结构,是排查 GPU 问题、理解 HAMi 工作原理的基础。
5 层架构总览
下图展示了 GPU 软件栈的完整分层结构:
GPU 软件栈 5 层架构
各层详解
第 1 层:硬件层
物理硬件是一切的基础: