System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及算力调度,特别是涉及一种混合精度算力调度系统、一种电子设备以及一种可读存储介质。
技术介绍
1、在ai训练和推理任务的计算场景中,算子可以按精度分为fp32、fp16以及int8、int4等不同精度的算子,而硬件厂商的加速卡也根据不同的型号,偏向于不同的精度,不同的卡,持有的高、低精度数量均有不同。
2、由于高精度计算占用的内存空间较大,网络传输带宽较大,业界会将不必维持高精度计算的计算过程转换为低精度,以提高计算效率,并节省高精度算子,供给更需要高精度计算的计算过程使用,业界称为混合精度计算,例如pytorch和tensorflow提供了自动混合精度(amp)训练。
3、目前业界的混合精度训练存在以下几个主要缺陷:
4、1.对精度的调度分配和算力调度无法联动:
5、大多数的框架例如pytorch只关注算法层的精度分配,对底层加速卡的不同精度算子分布以及其容量、使用情况均无法感知,导致多任务执行时,存在加速卡算子利用不合理的情况。
6、2.无法避免精度滥用的问题:
7、当前业界大部分的算力管控,仅能做到算力和显存的维度,对于有些低精度就能满足的应用,恶意的使用高精度算力进行运算的场景缺乏有效的管控,导致真正需要高精度算力的计算任务无法进行,或者丢失计算精度。
8、3.无法进行跨主机算子调度:
9、pytorch等训练框架进行混合精度的有效利用,仅能在单机单卡中进行,无法进行跨卡跨机的有效精度调度。
1、鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种混合精度算力调度系统、一种电子设备以及一种可读存储介质。
2、本专利技术提供了一种混合精度算力调度系统,包括:
3、混合精度资源池,用于记录计算节点集群中每一张加速卡的多种精度算子的分布拓扑、容量信息和使用量信息;
4、算力设备插件,部署于每一台计算节点上,用于实时监测计算节点上每一张加速卡的多种精度算子的容量信息和使用量信息,并上报给混合精度调度器存储至混合精度资源池;
5、混合精度调度器,用于接收用户提交的ai任务的混合精度算子申请信息,并从混合精度资源池获取各计算节点各加速卡多种精度算子实时的容量信息,并根据所述混合精度算子申请信息、各计算节点各加速卡多种精度算子实时的容量信息,分配所述ai任务的算子拓扑;混合精度算子信息包括混合精度算子级别、混合精度算子数量;
6、算力拦截模块,部署于每一台计算节点上,用于拦截ai任务的函数调用,根据所述ai任务的算子拓扑,或,根据所述ai任务的算子拓扑和各计算节点各加速卡多种精度算子实时的使用量信息,对ai任务的函数调用进行不同精度算子算力配额的匹配判定确定目标加速卡,以及将ai任务的函数调用转发到所述目标加速卡。
7、可选地,所述混合精度调度器用于:
8、根据所述混合精度算子申请信息确定主精度级别算子;所述主精度级别算子为申请数量最多的精度级别算子;所述混合精度算子申请信息中主精度级别算子以外的精度级别算子为次精度别算子;
9、根据各计算节点各加速卡多种精度算子实时的容量信息,查找并分配满足主精度级别算子申请数量的计算节点;
10、将与已分配的主精度级别算子同一计算节点上的次精度级别算子分配给所述ai任务;
11、若与已分配的主精度级别算子同一计算节点上的次精度级别算子的数量,低于次精度级别算子申请数量,则计算差额的次精度级别算子数量,查找满足所述差额的次精度级别算子数量的计算节点分配给所述ai任务。
12、可选地,所述混合精度调度器用于:
13、若用户提交ai任务所在的计算节点为满足主精度级别算子申请数量的计算节点,则优先分配所述用户提交ai任务所在的计算节点给所述ai任务。
14、可选地,所述混合精度调度器用于:
15、根据所述混合精度算子申请信息确定主精度级别算子;所述主精度级别算子为申请数量最多的精度级别算子;所述混合精度算子申请信息中主精度级别算子以外的精度级别算子为次精度别算子;
16、根据各计算节点各加速卡多种精度算子实时的容量信息,查找并分配满足主精度级别算子申请数量的计算节点;
17、将与已分配的主精度级别算子所在计算节点以外的计算节点的次精度级别算子分配给所述ai任务。
18、可选地,所述算力拦截模块用于:
19、向已分配的主精度级别算子所在的计算节点上的算力设备插件发送空闲次精度级别算子查询请求,并接收空闲次精度级别算子查询结果;
20、若所述空闲次精度级别算子查询结果为所述已分配的主精度级别算子所在的计算节点上的次精度级别算子当前处于空闲状态,则将所述已分配的主精度级别算子所在的计算节点上的次精度级别算子分配给所述ai任务;
21、若所述空闲次精度级别算子查询结果为所述已分配的主精度级别算子所在的计算节点上的次精度级别算子当前处于忙碌状态,则将与已分配的主精度级别算子所在计算节点以外的计算节点的次精度级别算子分配给所述ai任务。
22、可选地,所述算力拦截模块用于:
23、若所述已分配的主精度级别算子所在的计算节点上的次精度级别算子已分配给另一ai任务,则在处理所述ai任务的计算期间,当接收到所述另一ai任务的新计算任务时,对所述另一ai任务的新计算任务执行挂起操作,并在完成所述ai任务的计算后,切换所述已分配的主精度级别算子所在的计算节点上的次精度级别算子给所述另一ai任务。
24、可选地,所述算力拦截模块用于:
25、拦截所述ai任务的函数调用并解析所述函数调用得到请求的算子精度级别;
26、判断所述ai任务的混合精度算子申请信息是否包括所述函数调用请求的算子精度级别;
27、若否,则拒绝所述函数调用;
28、若是,则根据所述请求的算子精度级别的使用量和所述混合精度算子申请信息中所述请求的算子精度级别的申请额度,控制所述函数调用的执行。
29、可选地,所述算力拦截模块用于:
30、计算所述函数调用执行所需的算力;
31、判断所述请求的算子精度级别的使用量和所述函数调用执行所需的算力的总和,是否超过所述混合精度算子申请信息中所述请求的算子精度级别的申请额度;
32、若未超过,则执行所述函数调用;
33、若超过,则将所述函数调用放入队列中,执行其他函数调用并释放算力,直至所述请求的算子精度级别的剩余可用额度高于所述函数调用执行所需的算力,执行所述函数调用。
34、本专利技术还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述电子设备执行所述计算机程序时,加载如本专利技术实施例任一项所述的混合精度算力调度系统。
35、本文档来自技高网...
【技术保护点】
1.一种混合精度算力调度系统,其特征在于,包括:
2.根据权利要求1所述的混合精度算力调度系统,其特征在于,
3.根据权利要求2所述的混合精度算力调度系统,其特征在于,
4.根据权利要求1所述的混合精度算力调度系统,其特征在于,
5.根据权利要求2或3或4所述的混合精度算力调度系统,其特征在于,
6.根据权利要求5所述的混合精度算力调度系统,其特征在于,
7.根据权利要求1所述的混合精度算力调度系统,其特征在于,
8.根据权利要求7所述的混合精度算力调度系统,其特征在于,
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述电子设备执行所述计算机程序时,加载如权利要求1至8任一项所述的混合精度算力调度系统。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,加载如权利要求1至8任一项所述的混合精度算力调度系统。
【技术特征摘要】
1.一种混合精度算力调度系统,其特征在于,包括:
2.根据权利要求1所述的混合精度算力调度系统,其特征在于,
3.根据权利要求2所述的混合精度算力调度系统,其特征在于,
4.根据权利要求1所述的混合精度算力调度系统,其特征在于,
5.根据权利要求2或3或4所述的混合精度算力调度系统,其特征在于,
6.根据权利要求5所述的混合精度算力调度系统,其特征在于,
7.根据权利要求1所述的混...
【专利技术属性】
技术研发人员:刘忻,黄继承,林冬艺,
申请(专利权)人:广州市品高软件股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。