通过文件存储挂载环境诊断检测代码
1、购买文件存储
1)购买文件存储,如下图所示:
2)购买完成后,进入【文件系统列表】页,点击刚刚购买的文件系统 checker_afs,进入详情页,创建挂载点。 在【目录ACL】页,点击【目录权限配置】,创建一个目录,如下所示:
2、挂载文件存储
创建完文件存储后,创建1副本1卡的任务挂载存储卷checker_afs,把要用的checker
代码存储到对应的目录里;
1)选择1副本1卡的任务,框架选择MPI或者PyTorch DDP都可以,选择一个Base镜像既可,如下图所示:
2)挂载刚刚的存储文件。/LME
是文件系统的挂载点,容器里面看到的是/data
目录;
3)启动命令输入 sleep inf
;
4)点击完成创建;
3、存储checker代码
1)点击Web Terminal,进入容器内;
2)存储好相关检测代码,包含check_gpu.py
、check_disk.py
和check_nccl_simple.py
等;
4、自定义容错能力演示
接下来模拟Checker执行检测不通过,配合自定义容错策略,检测到异常后平台重启的流程。
1)通过Web Terminal登录到刚刚创建的任务的Pod里,执行cd /data && vim check_gpu.py
;
2)找到遍历测试所有GPU函数check_gpu
;修改check_gpu_matmul
函数,模拟异常 把True改为Flase,模拟gpu checker检测异常;然后退出保存。
3)接下来,新建一个容错任务来模拟下GPU异常后的任务容错现象;
4)框架选择PyTorch DDP或者MPI,单副本(副本数为1),8卡的规格;
5)选择官方基础镜像,最大重启次数设置为3,异常退出码设置为199,重启策略设置为重启Job;
6)挂载有check_gpu
代码的文件存储,如下图所示;
启动命令设置为如下所示,会先执行 python /data/check_gpu.py
,GPU硬件检测失败后,由于脚本返回码为 1(非零),Shell 会继续执行 exit 199
,整个脚本退出,返回码为 199
。
set -e
python /data/check_gpu.py || exit 199
7)点击【完成创建】
8)通过任务列表页的【事件】,查看任务运行是否符合预期;