目录
一、简介
本文主要针对vDCU 虚拟化设备插件的安装与初步使用测试进行介绍,包括物理机、容器环境与kubernetes 集群环境下vDCU 设备的使用。
二、基础环境与约束
2.1 硬件环境
- 需要宿主机安装配置了DCU 设备;
- 宿主机安装了DCU 对应版本的驱动驱动程序和DTK;
2.2 软件环境
- 需要保证kubernetes 集群版本在1.18 及以上;
- 需要在宿主机安装DCU 驱动程序,可以在光合开发者社区下载:
https://cancon.hpccube.com:65024/6/main
- 需要在光合开发者社区下载kubernetes 插件:
https://cancon.hpccube.com:65024/5/main
2.3 插件列表
插件名称 | 版本 |
dcu-device-plugin-share | v2.0.0.240718 |
2.4 使用约束
在各个场景下,海光DCU 虚拟化功能总体遵循以下约束:
- 数量约束:目前海光DCU 虚拟化功能在一张物理卡上支持最多4 个vDCU;
- 配置模式:目前海光DCU 虚拟化功能只支持静态配置;
- 资源约束:每个vDCU 可以任意划分计算资源和显存资源,但是每张物理卡上所有vDCU 计算资源和显存资源总和不能超过物理DCU 的标称值;
- 申请约束:每个进程只能使用一张vDCU 卡,如果配置多于一张vDCU,则只有第一张vDCU 被使用;
- 操作约束:只能使用hy-virtual 命令行工具创建或销毁vDCU,手动修改vDCU 配置文件可能导致运行在此vDCU 上的进程崩溃;
- 卡间通信:暂时不支持vDCU 之间的卡间通信;
Docker 容器内使用vDCU 的额外约束:
- 每个容器只能挂载一张vDCU 卡,如果挂载多余一张vDCU 卡,则只有第一张vDCU卡被使用;
- 每张vDCU 卡只能被一个容器使用;
Kubernetes 集群内使用vDCU 的额外约束:
- 目前只支持静态虚拟化方案,每个vDCU 节点需要提前完成vDCU 配置;
- vDCU 节点内所有的vDCU 配置需要保持一致,并给vDCU 节点打上相应标签;
- 每个任务容器最多可以申请一张vDCU。当申请多于1 张vDCU 时,会收到超阈值警告但并不会失败,K8s 资源池会削减等于申请数量的vDCU,但是容器内只有第一张vDCU 会生效;
三、使用指导
3.1 配置vDCU
3.1.1 查询物理DCU 资源
hy-virtual -show-devic