背景:
继上次metax c500上跑了deepseek 70b蒸馏模型后,遇到一个新任务,要将卡切分为vgpu模式,也就是metax 的 VF模式,看了资料似乎很简单。 安装metax 的 gpu operator ,然后修改driver-config 的 ConfigMap 即可,实际上,这里又卡了我一天。
步骤如下:
1. 安装gpu_sched模块
1 2 3 4 |
ubuntu示例 sudo apt update sudo apt install linux-modules-extra-$(uname -r) sudo reboot |
1 2 3 4 5 |
官网搜索metax-driver-mxc500,比如ubuntu下载metax-driver-mxc500-2.25.0.3-deb-x86_64.run,版本可选 chmod +x metax-driver-mxc500-2.25.0.3-deb-x86_64.run ./metax-driver-mxc500-2.25.0.3-deb-x86_64.run sudo reboot 重启机器 mx-smi 打印信息,确定驱动安装成功 |
3.升级vbios
1 2 3 4 |
mx-smi -L 查询板卡ID,如MXC550 cd /lib/firmware/metax/mxc500 查看vbios列表,选择一个版本 mx-smi -u /lib/firmware/metax/mxc500/mxvbios-1.20.3.0-645-C500-VF.bin -t 600 升级 sudo reboot 重启机器 |
实际上就是这步踩了坑, 目录结构中的这些bin文件不理解。以前只知道使用这个 mxvbios-1.20.3.0-645-C500.bin 来升级。请教了沐曦的工程师后才证实了之前的文件名疑惑 。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
/lib/firmware/metax/mxc500# tree . ├── mxvbios-1.20.3.0-645-C280-ATS.bin ├── mxvbios-1.20.3.0-645-C280.bin ├── mxvbios-1.20.3.0-645-C280-VF.bin ├── mxvbios-1.20.3.0-645-C290-ATS.bin ├── mxvbios-1.20.3.0-645-C290.bin ├── mxvbios-1.20.3.0-645-C290-VF.bin ├── mxvbios-1.20.3.0-645-C500-ATS.bin ├── mxvbios-1.20.3.0-645-C500.bin ├── mxvbios-1.20.3.0-645-C500-P-ATS.bin ├── mxvbios-1.20.3.0-645-C500-P.bin ├── mxvbios-1.20.3.0-645-C500-P-VF.bin ├── mxvbios-1.20.3.0-645-C500-VF.bin ├── mxvbios-1.20.3.0-645-C500X-ATS.bin ├── mxvbios-1.20.3.0-645-C500X.bin ├── mxvbios-1.20.3.0-645-C500X-VF.bin ├── mxvbios-1.20.3.0-645-C550-ATS.bin ├── mxvbios-1.20.3.0-645-C550.bin ├── mxvbios-1.20.3.0-645-C550-P-ATS.bin ├── mxvbios-1.20.3.0-645-C550-P.bin ├── mxvbios-1.20.3.0-645-C550-P-VF.bin ├── mxvbios-1.20.3.0-645-C550-VF.bin ├── mxvbios-1.20.3.0-645-N260-ATS.bin ├── mxvbios-1.20.3.0-645-N260.bin ├── mxvbios-1.20.3.0-645-N260-VF.bin ├── mxvbios-1.20.3.0-645-N450-ATS.bin ├── mxvbios-1.20.3.0-645-N450.bin ├── mxvbios-1.20.3.0-645-N450-VF.bin ├── vpud0_fw.bin ├── vpud1_fw.bin └── vpue_fw.bin |
4.安装gpu-operator
1 2 3 4 |
helm install gpu-operator metax-operator-0.9.0.tgz -n gpu-operator 部分使用的镜像带amd,arm等后缀,但是第一步解压的包不带,手动打tag 缺少部分镜像,比如metax-maca,需要去官网下载系统对应的镜像离线包,比如maca-c500:2.24.0.5-ubuntu22.04-amd64 缺少部分镜像,比如driver-image,需要去官网下载k8s-driver-image.2.24.0.10-x86_64.run脚本,按照脚本提示得到镜像 |
- 修改 gpu operator ,然后修改driver-config 的 ConfigMap
node-vfnums 这个部分修改
12345nodes:worker-mxgpu01: # gpu1 节点名vfnum: 4 #显卡1分为4worker-mxgpu02: # gpu2 节点名vfnum: 2 #显卡1分为2
此时在节点上使用 mx-smi 查看,可以发现 vgpu 输出为 40了,或许你会好奇8*4 不是应该32块么。哈哈,这里先卖个小关子。
容器单独调用1张vgpu截图,正常。
观察后发现,前面的数字 40,来源于32个 Metax C500 VF和 8张 Metax C500 PF, 编号分别是0~31 和 101~107。
这下算是搞懂沐曦vgpu如何切换了。
文章评论