壁仞 GPU 适配(biren)
本文介绍如何在 k8s 中接入壁仞(biren)GPU 并在 CubeStudio 上使用。搬运自 install/kubernetes/gpu/biren/readme.md。壁仞相关的驱动、运行时、k8s 组件安装包均由壁仞技术人员提供,本文只描述接入步骤。
1. 准备安装资料
向壁仞技术人员获取壁仞的相关安装资料(驱动、运行时、k8s 组件等安装包与文档):

2. 主机驱动和运行时
在每台壁仞节点上安装壁仞 GPU 驱动与容器运行时,并按壁仞文档校验驱动正常:

3. 安装 k8s 相关组件
按壁仞提供的资料部署 k8s 侧组件,通常包含:
- device plugin(向 k8s 注册壁仞 GPU 扩展资源);
- agent;
- exporter(GPU 监控指标采集)。

4. 查询机器可用卡数
kubectl describe node <壁仞节点IP>
在 node 的 Capacity / Allocatable 中查看壁仞 device plugin 注册的扩展资源名与可用卡数:

5. pod 占用壁仞卡测试
按壁仞 device plugin 注册的资源名编写 pod yaml,在 resources.limits 中申请对应资源:

pod 启动后进入容器,用壁仞自带工具确认占用到的卡:

6. 平台侧资源配置(GPU_RESOURCE)
GPU_RESOURCE(install/docker/config.py:1189)当前未预置壁仞条目。接入时按步骤 4 中壁仞 device plugin 实际注册的扩展资源名,在 GPU_RESOURCE 中新增一项(形如 "biren": "<壁仞资源名>",key 必须小写),任务中即可用 1(biren) 的 数量(资源简称) 写法占用;机器的 gpu-type 节点标签使用大写。
若壁仞提供「禁用可见设备」的环境变量,建议同步在 GPU_NONE(install/docker/config.py)中补充对应条目(参照 "gpu": ['NVIDIA_VISIBLE_DEVICES','none'] 的写法),防止未申请卡的容器看到节点上的全部壁仞卡。