CN115904539A - 一种切分策略的在线生成方法、装置、设备及存储介质 - Google Patents
一种切分策略的在线生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115904539A CN115904539A CN202211516714.9A CN202211516714A CN115904539A CN 115904539 A CN115904539 A CN 115904539A CN 202211516714 A CN202211516714 A CN 202211516714A CN 115904539 A CN115904539 A CN 115904539A
- Authority
- CN
- China
- Prior art keywords
- segmentation
- target
- operator
- platform
- dimension
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000011218 segmentation Effects 0.000 title claims abstract description 529
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000004364 calculation method Methods 0.000 claims abstract description 57
- 238000010801 machine learning Methods 0.000 claims abstract description 53
- 230000008569 process Effects 0.000 claims abstract description 40
- 238000012546 transfer Methods 0.000 claims description 32
- 238000001914 filtration Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 14
- 238000012163 sequencing technique Methods 0.000 claims description 12
- 238000012216 screening Methods 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 5
- 238000012913 prioritisation Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 241001522296 Erithacus rubecula Species 0.000 claims 1
- 238000012423 maintenance Methods 0.000 abstract description 8
- 238000013473 artificial intelligence Methods 0.000 description 108
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000005259 measurement Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000010354 integration Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007670 refining Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种切分策略的在线生成方法、装置、设备及存储介质。该方法包括:获取当前加载至AI平台的机器学习模型,并在机器学习模型中识别目标算子;根据目标算子中各算子参数的各张量维度和AI平台的硬件规格,确定与目标算子匹配的多个备选切分图样;获取与AI平台匹配的时间成本模型,并采用时间成本模型分别评估每个备选切分图样在至少一个运算循环方式下的时间开销;根据各时间开销,确定由目标切分图样和目标运算循环方式组合得到目标切分策略;在机器学习模型的执行过程中,按照目标切分策略执行针对目标算子的在线计算。通过本发明实施例的技术方案,以满足在线即时地确定算子切分策略的业务需求,降低维护成本。
Description
技术领域
本发明实施例涉及计算机硬件技术,尤其涉及一种切分策略的在线生成方法、装置、设备及存储介质。
背景技术
AI平台在开发完成后,一般都具有理论计算性能。但是,AI平台的软件栈中内置有多个算子,在基于算子的实现过程中,输入数据流的不同切分策略会决定数据存储方式和带宽需求,因而对AI平台的计算性能影响很大。
现有技术中,主要通过实测的方式对人工设计或自动化生成的切分策略进行验证。但是,实测的方式都需要离线完成,当处于在线状态时,实测的方式由于只能覆盖部分算子,对于在线时出现的未被离线搜索过的算子,没有办法获取切分策略,所以,不能适用于在线状态。并且,实测的方式维护成本较高,当某些环节需要改动(比如部分硬件单元频率调整或软件调度硬件方式改变)时,需要对切分策略全部重新进行搜索。同时,离线确定出的切分策略需要开发人员手动装配到AI平台中,人力成本高。因此,如何能够在线即时地确定算子切分策略,充分发挥AI平台的计算性能,是目前亟待解决的问题。
发明内容
本发明提供一种切分策略的在线生成方法、装置、设备及存储介质,以实现在线即时地确定算子切分策略,充分发挥AI平台的计算性能。
第一方面,本发明实施例提供了一种切分策略的在线生成方法,包括:
获取当前加载至AI平台的机器学习模型,并在机器学习模型中识别目标算子;AI平台中包括多级存储空间、至少一个用于在多级存储空间之间进行数据搬运的DMA单元和至少一个用于计算的计算单元,多级存储空间中包括共享存储空间和独占存储空间;
根据目标算子中各算子参数的各张量维度和AI平台的硬件规格,确定与目标算子匹配的多个备选切分图样;切分图样包括目标算子的每个算子参数的每个张量维度在每级存储空间中的切分方式以及每个算子参数的每个张量维度在多个计算单元中是否并行执行的并行度描述信息;
获取与AI平台匹配的时间成本模型,并采用时间成本模型分别评估每个备选切分图样在至少一个运算循环方式下的时间开销;
根据各时间开销,确定目标切分图样和目标运算循环方式,并将目标切分图样和目标运算循环方式组合得到目标切分策略;
在机器学习模型的执行过程中,按照目标切分策略执行针对目标算子的在线计算。
第二方面,本发明实施例还提供了一种切分策略的在线生成装置,该装置包括:
目标算子识别模块,用于获取当前加载至AI平台的机器学习模型,并在机器学习模型中识别目标算子;AI平台中包括多级存储空间、至少一个用于在多级存储空间之间进行数据搬运的DMA单元和至少一个用于计算的计算单元,多级存储空间中包括共享存储空间和独占存储空间;
切分图样确定模块,用于根据目标算子中各算子参数的各张量维度和AI平台的硬件规格,确定与目标算子匹配的多个备选切分图样;切分图样包括目标算子的每个算子参数的每个张量维度在每级存储空间中的切分方式以及每个算子参数的每个张量维度在多个计算单元中是否并行执行的并行度描述信息;
时间开销评估模块,用于获取与AI平台匹配的时间成本模型,并采用时间成本模型分别评估每个备选切分图样在至少一个运算循环方式下的时间开销;
切分策略确定模块,用于根据各时间开销,确定目标切分图样和目标运算循环方式,并将目标切分图样和目标运算循环方式组合得到目标切分策略;
在线计算模块,用于在机器学习模型的执行过程中,按照目标切分策略执行针对目标算子的在线计算。
第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本发明任一实施例所述的切分策略的在线生成方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现如本发明任一实施例所述的切分策略的在线生成方法。
本发明通过获取当前加载至AI平台的机器学习模型,并在机器学习模型中识别目标算子;进而,根据目标算子中各算子参数的各张量维度和AI平台的硬件规格,确定与目标算子匹配的多个备选切分图样;进一步,获取与AI平台匹配的时间成本模型,并采用时间成本模型分别评估每个备选切分图样在至少一个运算循环方式下的时间开销;以及,根据各时间开销,确定由目标切分图样和目标运算循环方式组合得到目标切分策略;最终,在机器学习模型的执行过程中,按照目标切分策略执行针对目标算子的在线计算,解决了现有技术中无法在线即时地识别出各算子对应的高效切分策略,维护成本较高的问题,解决了算子切分策略在线即时生成的业务需求,最大程度地降低了人为干预,降低了维护成本,完成了算子切分策略的确定过程和实现过程的一体化。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种切分策略的在线生成方法的流程图;
图2是根据本发明实施例一提供的一种AI平台的结构示意图;
图3是根据本发明实施例二提供的一种切分策略的在线生成方法的流程图;
图4是根据本发明实施例三提供的一种切分策略的在线生成方法的流程图;
图5是根据本发明实施例四提供的一种切分策略的在线生成装置的结构示意图;
图6是实现本发明实施例的切分策略的在线生成方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供的一种切分策略的在线生成方法的流程图,本实施例可适用于在线即时的识别出加载至AI(Artificial Intelligence,人工智能)平台的机器学习模型中各算子代价较优的切分策略的情况,该方法可以由切分策略的在线生成装置来执行,该切分策略的在线生成装置可以采用硬件和/或软件的形式实现,该切分策略的在线生成装置可配置于AI平台中。如图1所示,该方法包括:
S110、获取当前加载至AI平台的机器学习模型,并在机器学习模型中识别目标算子。
其中,AI平台中包括多级存储空间、至少一个用于在多级存储空间之间进行数据搬运的DMA(Direct Memory Access,直接存储访问)单元和至少一个用于计算的计算单元,多级存储空间中包括共享存储空间和独占存储空间。
其中,AI平台为用于对设定的机器学习模型进行加载执行的软硬件一体化平台,也即,AI推理(训练)平台。共享存储空间可以指可以被多个DMA单元访问的存储空间。独占存储空间可以指仅被一个计算单元访问的存储空间。具体的,该计算单元也可以称为通用可扩展神经元处理器(简称SIP)。
作为示例而非限定,在图2中示出了本发明实施例一所适用的一种AI平台的结构示意图。其中,AI平台的片上内存由三级存储结构组成:L3层为全局存储空间,L2层为共享存储空间可以被多个DMA单元访问,L1层为独占存储空间,一个L1层存储空间仅能被一个计算单元访问。各多级存储空间之间可以通过DMA单元进行数据搬运。在L2层和L1层之间的为局部DMA,每个计算单元对应一个DMA,L3层和L2层之间的为共享DMA,多个计算单元共享一个或多个DMA。值得注意的是,每一级存储都有各自的存储容量,L3层的存储容量最大,L2层其次,L1层最小。计算过程由计算单元完成,L1层存储空间是计算单元可访问的最高效的存储空间。
输入数据会在算子执行前,由上层框架统一从AI平台外搬运到AI平台内的L3层存储空间上,因此算子侧的主要运算流程如下:通过全局DMA单元将输入数据从L3层搬运到L2层上,后再由多个局部DMA单元从L2层搬运到L1层;计算单元直接访问L1层,将输入数据加载到计算单元的寄存器中进行运算,并将结果写回L1层;局部DMA单元将计算结果从L1层搬运回L2层,再由全局DMA单元从L2层搬运到L3层,至此,算子执行过程完毕。算子输出数据由上层框架搬到AI平台外或交由下一个算子进行后续运算。
其中,机器学习模型可以指预先加载至AI平台中的,包含至少一个算子的算法模型,用于实现设定的场景计算功能,例如,目标检测或者人脸识别等。目标算子可以指机器学习模型中的一个运算的算子;算子可以指对函数或参数进行映射、变换或运算等操作的符号,示例性的,可以为加法算子、积分算子或概率算子等。
S120、根据目标算子中各算子参数的各张量维度和AI平台的硬件规格,确定与目标算子匹配的多个备选切分图样。
其中,切分图样包括目标算子的每个算子参数的每个张量维度在每级存储空间中的切分方式以及每个算子参数的每个张量维度在多个计算单元中是否并行执行的并行度描述信息。
其中,算子参数可以指算子在完成相应计算时所需依赖的数据项。可选的,算子参数可以包括目标算子的输入数据以及输出结果等。张量维度可以指算子参数的数据尺寸。示例性的,以目标算子为矩阵乘法算子为例,输入数据由左操作数和右操作数组成,其中,左操作数的张量形状可以为M*K,右操作数的张量形状可以为K*N。也即,左操作数有两个张量维度,第一张量维度的尺寸为M个数据元素,第二张量维度的尺寸为K个数据元素;右操作数同样有两个张量维度,第一张量维度的尺寸为K个数据元素,第二张量维度的尺寸为N个数据元素。
可以理解的是,算子参数的数据形式一般是一个设定维度数的张量,且在每个张量维度下具有相应的数据尺寸。
其中,硬件规格可以指AI平台中每级存储空间的存储容量。示例性的,可以为每级存储空间的存储容量上限值。切分方式可以指目标算子的每个张量维度在每级存储空间中进行切分处理的方式。示例性的,可以为切分或不切分,也可以为具体切分比例(例如,M/3或者N/2),还可以为切分后得到的具体维度值(例如,512或者256)等。并行度描述信息可以指每个算子参数的每个张量维度在多个计算单元中是否并行执行的描述信息。示例性的,可以为并行或不并行,也可以为具体并行的数量等。备选切分图样可以指目标算子匹配的切分图样。典型的,可以理解为目标算子的全部可选切分图样中,满足AI平台的硬件规格的切分图样。
具体的,可以首先将目标算子的每个算子参数的每个张量维度在每级存储空间中的全部切分方式以及每个算子参数的每个张量维度在多个计算单元中是否并行执行的多种并行度描述信息进行排列组合,生成目标算子对应的全部可选切分图样,再利用AI平台的硬件规格对全部可选切分图样进行筛选,由此,得到符合AI平台的硬件规格要求的备选切分图样。
S130、获取与AI平台匹配的时间成本模型,并采用时间成本模型分别评估每个备选切分图样在至少一个运算循环方式下的时间开销。
其中,时间成本模型可以指预先构建的对备选切分图样的时间开销进行评估的模型。时间开销可以指目标算子按照备选切分图样执行数据搬运以及数据计算时花费的时间。
其中,运算循环方式可以指按照目标算子的算子参数的切分方式完成算子参数全部运算的循环方式。可以理解的是,目标算子在不同的运算循环方式下,数据搬运的次数会有区别,进而不同运算循环方式所对应的时间开销也会不同,进而,运算循环方式也属于切分策略中的一项重要参数。
示例性的,若目标算子为矩阵乘算子[M,K]x[K,N]=[M,N],切分方式为左值在M维度切分为3片,右值在N维度切分为2片,则一次切片的运算结果为[M/3,N/2]。由于矩阵乘算子运算的特殊性,每个左值切片都需要和每个右值切片进行运算,因此每个左值切片都需要被使用2次,每个右值切片都需要被使用3次。假如不考虑复用输入数据的情况下,将搬运6次大小为[M/3,K]的切片和6次大小为[K,N/2]的切片;假如考虑复用左值切片,每次更新右值切片,将搬运3次大小为[M/3,K]的切片和6次大小为[K,N/2]的切片;同理,假如复用右值切片,每次更新左值切片,将搬运6次大小为[M/3,K]的切片和2次大小为[K,N/2]的切片。由此,可以根据左右值循环的先后顺序以及左右值的复用情况确定运算循环方式。
S140、根据各时间开销,确定目标切分图样和目标运算循环方式,并将目标切分图样和目标运算循环方式组合得到目标切分策略。
其中,目标切分图样可以指备选切分图样中满足时间开销要求的切分图样。目标运算循环方式可以指与目标切分图样对应的运算循环方式。
具体的,该目标切分策略可以包括:切分方式,并行度描述信息以及运算循环方式,上述三个参数确定后,可以对目标算子执行确定性的切分处理方式。
S150、在机器学习模型的执行过程中,按照目标切分策略执行针对目标算子的在线计算。
具体的,在获取由目标切分图样和目标运算循环方式组合生成的目标切分策略之后,可以在机器学习模型的执行过程中,按照目标切分策略中的目标切分图样和目标运算循环方式执行针对目标算子的在线计算,由此,可以使得目标算子的执行效率得到显著的提高以及AI平台的计算资源得到充分的发挥。
本发明通过获取当前加载至AI平台的机器学习模型,并在机器学习模型中识别目标算子;进而,根据目标算子中各算子参数的各张量维度和AI平台的硬件规格,确定与目标算子匹配的多个备选切分图样;进一步,获取与AI平台匹配的时间成本模型,并采用时间成本模型分别评估每个备选切分图样在至少一个运算循环方式下的时间开销;以及,根据各时间开销,确定由目标切分图样和目标运算循环方式组合得到目标切分策略;最终,在机器学习模型的执行过程中,按照目标切分策略执行针对目标算子的在线计算,解决了现有技术中无法在线即时地识别出各算子对应的高效切分策略,维护成本较高的问题,解决了算子切分策略在线即时生成的业务需求,最大程度地降低了人为干预,降低了维护成本,完成了算子切分策略的确定过程和实现过程的一体化。
实施例二
图3为本发明实施例二提供的一种切分策略的在线生成方法的流程图,本实施例以上述实施例为基础进行细化,在本实施例中具体是对根据目标算子中各算子参数的各张量维度和AI平台的硬件规格,确定与目标算子匹配的多个备选切分图样的操作进行细化,具体可以包括:获取与所述目标算子匹配的多个切分类别,其中,切分类别中定义了目标算子的每个算子参数的每个张量维度在每级存储空间中是否进行切分,以及每个算子参数的每个张量维度在多个计算单元中是否并行执行的并行度描述信息;根据目标算子中各算子参数的各张量维度,计算所述目标算子在每种切分类别下,在每级存储空间中所需占用的目标数据量;根据所述目标数据量和所述AI平台的硬件规格,在全部切分类别中识别满足硬件规格条件的至少一个目标切分类别;在各所述目标切分类别中,确定与目标算子匹配的多个备选切分图样。如图3所示,该方法包括:
S210、获取当前加载至AI平台的机器学习模型,并在机器学习模型中识别目标算子。
其中,AI平台中包括多级存储空间、至少一个用于在多级存储空间之间进行数据搬运的DMA单元和至少一个用于计算的计算单元,多级存储空间中包括共享存储空间和独占存储空间。
S220、获取与所述目标算子匹配的多个切分类别。
其中,切分类别中定义了目标算子的每个算子参数的每个张量维度在每级存储空间中是否进行切分,以及每个算子参数的每个张量维度在多个计算单元中是否并行执行的并行度描述信息。
在本实施例中,考虑到切分图样的搜索空间很大,直接搜索速度慢、耗时久,不利于在线编译时使用,可以先进行归类,将大量的切分图样划分少数几个切分类别中,以切分类别为单位,对切分图样进行初步筛选。
在本实施例中,可以综合使用算子的维度信息、存储结构以及并行度描述信息描述切分类别。算子的维度数量是固定有限的,每个维度在考虑切分的时候只有切和不切两种选择。因此切分图样的类别就可以根据各维度切或不切的组合进行划定。因为维度是有限的,所以切分图样的类别也是有限的。
相类似的,各级存储空间的存储容量大小不同,L3最大,L2其次,L1最小。我们在考虑切和不切某个维度的时候,也可以结合当前切片所在的内存层级,比如我们可以选择某一个维度在L2上不切,在L1上切,也可以选在L2上切,L1也切。综上,按照以上几个方面进行分类,基本上能够覆盖AI平台中全部的切分搜索空间。
为了便于表达,在一个具体的例子中,假设目标算子仅包括一个算子参数A,该算子参数A仅包括一个张量维度M,同时,AI平台仅包括一级存储空间L1,则针对该目标算子可以具有4个切分类别,分别是切分类别1:A的张量维度M在L1上切分,且M在多个计算单元中并行执行;切分类别2:A的张量维度M在L1上切分,且M在多个计算单元中不并行执行;切分类别3:A的张量M在L1上不切分,且M在多个计算单元中并行执行;以及切分类别4:M在L1上不切分,且M在多个计算单元中不并行执行。
S230、根据目标算子中各算子参数的各张量维度,计算所述目标算子在每种切分类别下,在每级存储空间中所需占用的目标数据量。
其中,目标数据量可以指目标算子在设定切分类别下,在设定存储空间中所需占用的最小的数据量。示例性的,可以将目标算子在每种切分类别下,在每级存储空间中的输入数据最小切片数据量和输出数据最小切分量的总和作为目标数据量。通常,目标算子在不同切分类别下,所对应的目标数据量不同。
在一个可选的实施方式中,以某一个具体的切分类别为例,将根据目标算子中各算子参数的各张量维度,计算所述目标算子在每种切分类别下,在每级存储空间中所需占用的目标数据量的方式具体化为:
获取目标算子在当前切分类别下,在每级存储空间中的输入数据最小切片数据量以及输出数据最小切片数据量;获取独占存储空间中输入数据最小切片数据量和输出数据最小切片数据量的总和,作为目标算子在当前切分类别下,在独占存储空间中所需占用的目标数据量;根据所述当前切分类别中的并行度描述信息,将每个共享存储空间中的输入数据最小切片数据量划分为独享数据量和共享数据量;根据每个共享存储空间中的独享数据量、共享数据量、输出数据最小切片数据量以及目标算子在AI平台中可使用的计算单元数量,计算目标算子在当前切分类别下,在各共享存储空间中所需占用的目标数据量。
其中,当前切分类别可以指目标算子对应的切分类别中,当前正在筛选的切分类别。最小切片数据量可以指数据在最小切片维度下的数据量。示例性的,若数据为1024,则切片维度可以分为1、1024、2和512等,则最小切片数据量可以为1。输入数据最小切片数据量可以指各级存储空间中目标算子的输入数据在最小切分维度下的数据量。输出数据最小切片数据量可以指各级存储空间中目标算子的输出数据在最小切分维度下的数据量。独享数据量可以指独立发送至某一具体独享存储空间的数据量。共享数据量可以指同时发送给多个独享存储空间的数据量。
在一个具体的例子中,如果在当前切分类别下,目标算子中的算子参数A的张量维度a1在多个计算单元(例如,可以为4)中并行执行。其中,上述多个计算单元为目标算子在所述AI平台中可使用的计算单元数量。同时,假设AI平台中具有共享存储空间L2,以及独享存储空间L1。
在根据当前切分类别确定出算子参数A的张量维度a1在L2上的输入数据最小切片数据量a11和输出数据最小切片数据量a12,并将输入数据最小切片数据量a11划分为独享数据量a111和共享数据量a112后,可以通过公式:a111*4+a112+a12*4,计算得到目标算子在当前切分类别下,在L2中所需占用的目标数据量。同时,在根据当前切分类别确定出算子参数A的张量维度a1在L1上的输入数据最小切片数据量a21和输出数据最小切片数据量a22后,可以通过公式:a21+a22,计算得到目标算子在当前切分类别下,在L1中所需占用的目标数据量。
S240、当目标算子在当前切分类别下,针对每级存储空间计算得到的所述目标数据量均小于该级存储空间的存储空间容量上限时,确定当前切分类别为满足硬件规格条件的目标切分类别。
续前例,在根据当前切分类别确定出目标算子的每个算子参数的每个张量维度在L1上的第一目标数据量和L2上的第二目标数据量后,如果确定每个第一目标数据量均小于L1的存储空间容量上限,且每个第二目标数据量均小于L2的存储空间容量上限,才能确定当前切分类别为满足硬件规格条件的目标切分类别。
在本实施例中,由于目标数据量计算的是目标算子在设定切分类别下,在设定存储空间中所需占用的最小的数据量,因此,最终获取到的满足硬件规格条件的目标切分类别,必然包含有一个满足硬件规格条件的备选切分图样。
需要说明的是,除了可以考虑存储空间容量之外,还可以进一步考虑计算单元中用于存放临时结果的寄存器容量。具体的,AI平台中的自动指令生成技术会有临时结果需缓存在寄存器中,缓存的数据量不能超过寄存器容量的上限,而缓存的数据量由切分数据的数量大小决定,因此最小切片的数据量同样需要满足不超过寄存器容量上限的要求。
S250、在每个目标切分类别中,分别确定目标算子的每个算子参数的每个张量维度在每级存储空间中的切分维度取值范围。
其中,切分维度取值范围可以指各算子参数在对应张量维度下的取值范围。示例性的,若目标算子的算子参数的张量维度为1024×768,则1024维度下的切分维度取值范围可以为1至1023,同理,768维度下的切分维度取值范围可以为1至767。
S260、按照与每个目标切分类别对应的切分维度取值范围以及每个目标切分类别中的并行度描述信息,组合得到多个组合切分图样,并在各组合切分图样中筛选得到满足所述AI平台的硬件规格的多个备选切分图样。
其中,组合切分图样可以指根据切分维度取值范围以及每个目标切分类别中的并行度描述信息组合后生成的切分图样。
具体的,在确定目标算子的每个算子参数的每个张量维度在每级存储空间中的切分维度取值范围,以及确定每个目标切分类别中的并行度描述信息之后,可以将每个目标切分类别对应的切分维度取值范围以及每个目标切分类别中的并行度描述信息组合生成组合切分图样,由此,可以将切分类别、切分维度以及并行度描述信息综合考虑,筛选出使机器学习模型中各算子代价较优的备选切分图样。
S270、获取与AI平台匹配的时间成本模型,并采用时间成本模型分别评估每个备选切分图样在至少一个运算循环方式下的时间开销。
具体的,在将切分类别、切分维度以及并行度描述信息综合考虑,筛选得到满足AI平台的硬件规格的备选切分图样之后,可以利用时间成本模型分别评估每个备选切分图样在至少一个运算循环方式下的时间开销,由此,可以在综合考虑切分类别、切分维度以及并行度描述信息的基础上,再次加入运算循环方式,保证了目标切分图样的性能。
S280、根据各时间开销,确定目标切分图样和目标运算循环方式,并将目标切分图样和目标运算循环方式组合得到目标切分策略。
具体的,根据每个备选切分图样在至少一个运算循环方式下的时间开销,可以确定满足时间开销要求的目标切分图样,以及与目标切分图样对应的目标运算循环方式,进而构建包含目标切分图样和目标运算循环方式的目标切分策略。
S290、在机器学习模型的执行过程中,按照目标切分策略执行针对目标算子的在线计算。
具体的,在包含目标算子的机器学习模型执行时,可以按照目标切分策略执行针对目标算子的在线计算,由此,能够在线即时地识别出机器学习模型中各目标算子代价较优的目标切分图样及目标运算循环方式。
本发明通过获取当前加载至AI平台的机器学习模型,并在机器学习模型中识别目标算子;进而,获取与目标算子匹配的多个切分类别,并根据目标算子中各算子参数的各张量维度,计算目标算子在每种切分类别下,在每级存储空间中所需占用的目标数据量,当目标算子在当前切分类别下,针对每级存储空间计算得到的目标数据量均小于该级存储空间的存储空间容量上限时,确定当前切分类别为满足硬件规格条件的目标切分类别,进而,在每个目标切分类别中,分别确定目标算子的每个算子参数的每个张量维度在每级存储空间中的切分维度取值范围,按照与每个目标切分类别对应的切分维度取值范围以及每个目标切分类别中的并行度描述信息,组合得到多个组合切分图样,并在各组合切分图样中筛选得到满足所述AI平台的硬件规格的多个备选切分图样,进一步的,获取与AI平台匹配的时间成本模型,并采用时间成本模型分别评估每个备选切分图样在至少一个运算循环方式下的时间开销,并根据各时间开销,确定目标切分图样和目标运算循环方式,以及将目标切分图样和目标运算循环方式组合得到目标切分策略,最终,在机器学习模型的执行过程中,按照目标切分策略执行针对目标算子的在线计算,解决了现有技术中无法在线即时地识别出各算子对应的高效切分策略,维护成本较高的问题,能够在线即时地识别出机器学习模型中各算子代价较优的切分策略,使得AI平台的功耗约束能够满足,算子的执行效率得到显著的提高。
实施例三
图4为本发明实施例三提供的一种切分策略的在线生成方法的流程图,本实施例以上述实施例为基础进行细化,在本实施例中具体是对获取与所述AI平台匹配的时间成本模型的操作进行细化,具体可以包括:获取预先构建的标准成本模型;根据所述AI平台的硬件描述参数,对所述标准成本模型进行参数设置,得到与所述AI平台匹配的时间成本模型。如图4所示,该方法包括:
S310、获取当前加载至AI平台的机器学习模型,并在机器学习模型中识别目标算子。
其中,AI平台中包括多级存储空间、至少一个用于在多级存储空间之间进行数据搬运的DMA单元和至少一个用于计算的计算单元,多级存储空间中包括共享存储空间和独占存储空间。
S320、获取与所述目标算子匹配的多个切分类别。
其中,切分类别中定义了目标算子的每个算子参数的每个张量维度在每级存储空间中是否进行切分,以及每个算子参数的每个张量维度在多个计算单元中是否并行执行的并行度描述信息。
S330、根据目标算子中各算子参数的各张量维度,计算所述目标算子在每种切分类别下,在每级存储空间中所需占用的目标数据量。
具体的,获取目标算子在每种切分类别下,在每级存储空间中的输入数据最小切片数据量以及输出数据最小切片数据量;进而,将独占存储空间中输入数据最小切片数据量和输出数据最小切片数据量的总和,作为目标算子在每种切分类别下,在独占存储空间中所需占用的目标数据量。进一步的,根据切分类别中的并行度描述信息,将每个共享存储空间中的输入数据最小切片数据量划分为独享数据量和共享数据量,并结合目标算子在AI平台中可使用的计算单元数量,计算目标算子在每种切分类别下,在共享存储空间中所需占用的目标数据量。
S340、当目标算子在当前切分类别下,针对每级存储空间计算得到的所述目标数据量均小于该级存储空间的存储空间容量上限时,确定当前切分类别为满足硬件规格条件的目标切分类别。
具体的,在计算得到目标算子在每种切分类别下,在每级存储空间中所需占用的目标数据量之后,针对当前切分类别,若目标算子在共享存储空间和独占存储空间中所需占用的目标数据量均小于共享存储空间和独占存储空间的存储空间容量上限,则将当前切分类别作为目标切分类别。
S350、在每个目标切分类别中,分别确定目标算子的每个算子参数的每个张量维度在每级存储空间中的切分维度取值范围。
S360、在当前目标切分类别下,获取目标算子的每个算子参数的每个张量维度在每级存储空间中的当前切分维度取值范围。
其中,当前切分维度取值范围可以指在当前目标切分类别确定后,针对目标切分类别,目标算子的每个算子参数的每个张量维度在每级存储空间中的当前切分维度取值范围。
S370、在各所述当前切分维度取值范围中,对各当前切分维度取值进行一次过滤,并按照至少一项优先级排序规则,对各所述当前切分维度取值范围中的各当前切分维度取值进行优先级排序处理。
其中,优先级排序规则可以指对过滤后的当前切分维度取值进行优先级排序处理的规则。优先级排序处理可以指对过滤后的当前切分维度取值按照优先级大小依次进行排序处理。
在一个可选的实施方式中,在各所述当前切分维度取值范围中,对各当前切分维度取值进行一次过滤,可以包括:获取所述AI平台的寄存器硬件规格,按照所述寄存器硬件规格对各当前切分维度取值进行过滤;优先级排序规则包括:因数优先规则、目标算子在所述AI平台中可使用的计算单元数量的整数倍优先规则以及大数优先规则。
其中,寄存器硬件规格可以指寄存器的指令规格。示例性的,若寄存器中计算单元的指令格式为64bytes,则需要选择64的整数倍,如64和128等作为切分维度取值,以保证切分的粒度。
其中,因数优先规则可以指目标算子的各算子参数的当前切分维度取值范围中的因数具有较高优先级的规则。示例性的,若目标算子的算子参数的当前切分维度取值范围分别为[1,1023]和[1,767],对于[1,1023]的因数可以为2、4、8、16、32、64、128、256和512;对于[1,767]的因数可以为2、4、6、8、12、24、32、64、96、128、192和384,则对于当前切分维度取值范围[1,1023],因数2、4、8、16、32、64、128、256和512具有较高优先级,同理,对于当前切分维度取值范围[1,767],因数2、4、6、8、12、24、32、64、96、128、192和384具有较高优先级。
其中,目标算子在所述AI平台中可使用的计算单元数量的整数倍优先规则可以指计算单元数量的整数倍的切分维度取值具有较高优先级的规则。示例性的,若目标算子在所述AI平台中可使用的计算单元数量为4,则为4、8、12、16或20的切分维度取值具有较高优先级。
其中,大数优先规则可以指数值较大的当前切分维度取值具有较高优先级的规则。
具体的,首先,按照平台的寄存器硬件规格对各当前切分维度取值进行过滤,筛选出与寄存器的指令规格具有整数倍关系的当前切分维度取值,之后,按照优先级排序规则对过滤后的当前切分维度取值进行优先级排序处理。
也即,在本实施例的可选实施方式中,在确定了哪些维度需要切分,接下来就是具体如何切分的问题,即划定切分维度的搜索范围。比如一个维度的大小为N,那么切分后的取值范围可以是1到N-1之间的某些整数值。同时,为了尽量减少无效的搜索,我们可以对切分的取值做一些限制:优先选择N的因数,即进行整数切分,避免一些余数处理上的问题;切分的取值考虑硬件的规格,如计算单元每条指令使用64bytes对齐的数据,那么切分上会过滤到该粒度整数倍之外的切分;此外,同一维度如果可以取更大的切分,则小的切分可以弃掉,因为每次切分会有固定开销,切分的次数应尽可能少;考虑多计算单元之间并行性的问题,切分也会偏向于目标算子在所述AI平台中可使用的计算单元数量的整数倍,这样不会产生资源浪费。
S380、采用优先级排序后的各所述当前切分维度取值范围,构建多层级嵌套循环进行搜索。
在一个具体的例子中,假设目标算子仅包括一个算子参数A,该算子参数A包括两个张量维度M和N,同时,AI平台仅包括一级存储空间L1。假设优先级排序后目标算子的算子参数A的张量维度M在存储空间L1中的当前切分维度取值范围为{M1;M2;M3},优先级排序后目标算子的算子参数A的张量维度N在存储空间L1中的当前切分维度取值范围为{N1;N2;N3}。
相应的,可以构成2层级嵌套循环,外层级循环对{M1;M2;M3}进行循环遍历,内层循环对{N1;N2;N3}进行循环遍历,以实现对3*3共9种组合切分方式{M1、N1}、{M1、N2}、{M1、N3}、{M2、N1}、{M2、N2}、{M2、N3}、{M3、N1}、{M3、N2}以及{M3、N3}的搜索。
S390、按照当前目标切分类别的并行度描述信息,将搜索过程中每次生成的组合切分图样与AI平台的硬件规格进行匹配,获取匹配成功的备选切分图样。
具体的,在每次搜索过程中,将每个多层级嵌套循环层级中的当前切分取值与当前目标切分类别的并行度描述信息组合,生成组合切分图样,再将组合切分图样与AI平台的硬件规格进行匹配,并将匹配成功的组合切分图样作为备选切分图样。
在本实施例中,S390的实现方式与S260的实现方式一致,也即,针对每个组合切分图样,针对计算其在每级存储空间中所需占用的目标数据量是否均小于该级存储空间的存储空间容量上限,若是,则将该组合切分图样确定为备选切分图样。
S3100、根据每次匹配成功的备选切分图样中的各切分维度取值在所述多层级嵌套循环中每一层级中的排序位置,对所述多层级嵌套循环中未搜索的切分维度取值进行二次过滤,直至完成对所述多层级嵌套循环的遍历过程。
具体的,在获取匹配成功的备选切分图样之后,可以根据备选切分图样中的内层循环的切分维度取值,对紧邻内层循环的外层循环中的切分维度取值进行二次过滤。
值得注意的是,在多层级嵌套循环中至少一个内层循环为优先级最高的取值(也即,优先级排序后全部切分维度取值范围中的首个切分维度取值)时,即可将紧邻内层循环的外层循环中优先级低于外层循环当前切分维度取值的值滤除。
在一个可选的实施方式中,根据每次匹配成功的备选切分图样中的各切分维度取值在所述多层级嵌套循环中每一层级中的排序位置,对所述多层级嵌套循环中未搜索的切分维度取值进行二次过滤,可以包括:
获取当前匹配成功的备选切分图样中的各目标切分维度取值在所述多层级嵌套循环中每一层级中的排序位置;如果根据各目标切分维度取值的排序位置,确定从最内层循环开始,至少一个连续内层循环中的目标切分维度取值均位于首个排序位置,则将紧邻所述连续内层循环的目标外层循环中的目标切分维度取值之后的全部未搜索的切分维度取值进行过滤。
其中,连续内层循环可以指多层级嵌套循环中的连续的内层循环结构。目标切分维度取值可以指备选切分图样在连续内层循环所对应的切分维度取值。目标外层循环可以指目标切分维度取值对应的外层循环。
具体的,在确定备选切分图样之后,获取备选切分图样中的各目标切分维度取值在多层级嵌套循环中各层级中的排序位置,若至少一个连续内层循环中的目标切分维度取值均位于首个排序位置,则可以将紧邻连续内层循环的目标外层循环中的目标切分维度取值之后的全部未搜索的切分维度取值进行过滤,由此,实现二次过滤,避免资源浪费。
续前例,假设2层级嵌套循环中的外层级循环包括{M1;M2;M3},内层循环包括{N1;N2;N3},假设遍历至{M2,N1}时,确定其为备选切分图样,则可以直接将外层级循环中的M3进行滤除,无需再针对{M3、N1}、{M3、N2}以及{M3、N3}继续进行遍历搜索。
S3110、获取预先构建的标准成本模型。
其中,标准成本模型可以指标准的时间开销计算模型。示例性的,标准成本模型可以包括DMA成本模型和计算单元成本模型。
作为不同存储层级之间数据交互的媒介,DMA操作的时间开销是占比最高的环节之一。算子运算过程中包含多个DMA操作,每一个DMA操作的开销又跟搬运效率、内存层级等有关。因此,需要首先建立在AI平台上DMA的成本模型。
DMA带宽速率有理论上限,但不是每个操作都能达到理论上限,需要考虑带宽速率受到那些因素影响,以及影响的程度。比如,DMA的速率受到访问连续性的影响:在AI平台上,对于连续的数据搬运操作,单时钟内DMA可搬运的理论上限为128bytes,如果数据访问的连续性不满足128bytes的整数倍,会令DMA的速率产生线性下降。再如,数据搬运总量也与DMA的带宽速率有线性关系,在一定范围内呈现出搬运量越大,速率越高的特性。因此,可以将这种线性关系用公式表达,在一定范围内拟合出与实测相近的开销。另一方面,DMA操作的开销还受到访问存储延迟的影响。DMA在访问存储时,会有一部分固定延迟开销,并且不同的存储延迟程度不同。在评估时,需要考虑数据搬运发生在哪些存储层级之间,并在DMA成本模型中添加对应的固定开销。
由此,当DMA搬运行为:[A,B,C,D]->[a,b,c,d],搬运的数据量为a*b*c*d*bpe,该搬运行为表示DMA至少可以连续搬运(d*bpe)bytes的数据,bytes为单位。bpe可以表示每个数据占据的字节数(bytes per element),如FP32,一个数值占据4bytes,FP16则一个数值占据2bytes。
DMA成本模型可以为:DMA总时间=数据搬运总量/数据搬运效率+固定延迟开销=(a*b*c*d*bpe)/(dma_bw*dma_bw_efficiency_factor1*dma_bw_efficiency_factor2)+
dma_latency。
其中,dma_bw可以表示DMA带宽速率,单位为bytes/cycle;dma_bw_efficiency可以表示DMA搬运效率,主要和搬运连续性以及搬运数据量有关,dma_bw_efficiency_factor1可以表示DMA搬运效率第一影响因素,即搬运连续性;dma_bw_efficiency_factor1=((d*bpe)%dma_bw)/dma_bw。
值得注意的是,通常,搬运连续性越高,DMA搬运效率越高。当d*bpe是dma_bw的整数倍时,理论上搬运连续性应该最高(为1),但是直接使用上述公式计算dma_bw_efficiency_factor1的话,dma_bw_efficiency_factor1=0,
因此,可以构建下述分段函数,计算efficiency_factor1:
dma_bw_efficiency_factor2可以表示dma搬运效率第二影响因素,即搬运数据量;dma_bw_efficiency_factor2=(a*b*c*d*bpe)/bytesforbestperf;bytesforbestperf可以表示单次数据搬运量,通常单次数据搬运量越大,DMA效率越高,但是,通常存在上限值和下限值;通常,通过阈值的方式固定dma_bw_efficiency_factor2的数值,示例性的,若dma_bw_efficiency_factor2>1,则可以将其赋值为1;同理,若dma_bw_efficiency_factor2<0.8,则可以将dma_bw_efficiency_factor2赋值为0.8;dma_latency可以表示固定延迟开销,通常,每个DMA操作都有固定延迟开销,固定延迟开销跟搬运量无关,单位为cycle。
此外,计算开销也是算子运行中主要的环节。AI平台上的计算能力跟指令的使用方式及流水排布方式有关。通常,不同类型的算子,由于计算方式不同,计算成本也不同。计算单元成本模型主要由数据加载、数据计算及数据写回三部分组成。其中,数据加载和数据计算和数据写回在AI平台上可以同步进行。由此,计算单元成本模型可以为:计算总时间=第一次数据加载时间+max(数据加载时间,数据计算时间,数据写回时间)+最后一次数据写回时间。
进一步,算子运算过程中还有一些固定时间开销,比如配置DMA的时间,计算单元之间同步的等待时间等。虽然这部分时间占比不多,但对切分图样同样有很重要的影响。示例性的,如果同样的数据可以切分为1/2的大小运行2次,也可以切分为1/4的大小运行4次,两者计算结果一致,但由于运行4次的方式会比运行2次的方式多出2次配置DMA的时间,所以实际耗时不同。同理,计算单元同步时间也受到同步次数的影响。因此在搭建标准成本模型时,也需要考虑一些固定时间开销。
由此,通过对DMA成本模型、计算单元成本模型和固定时间开销进行汇总,即可构建得到标准成本模型。
作为示例而非限定,可以通过下述公式简单的描述一种可选的标准成本模型的时间开销计算方式:
标准成本模型的时间开销=第一次配置DMA搬运输入时间+第一次DMA搬运输入时间+(max(一次DMA搬运输入时间+一次DMA搬运输出时间,一次计算时间)+一次DMA配置搬运输入时间+一次配置DMA搬运输出时间)*(循环总次数-1)+最后一次计算时间+最后一次配置DMA搬运输出时间+最后一次DMA搬运输出时间。
在本示例中,可以在DMA搬运过程以及计算单元的计算过程并行执行的实际应用场景中,估算出每个备选切分图样在至少一个运算循环方式下的,符合预期的时间开销。
同时,需要再次说明的是,上述公式仅作为示例,在实际应用中技术人员可以根据不同的切分类别或者不同的AI平台参数,构建出其他类型的标准成本模型的时间开销计算方式,本实施例对此并不进行限制。
S3120、根据所述AI平台的硬件描述参数,对所述标准成本模型进行参数设置,得到与所述AI平台匹配的时间成本模型。
在一个可选的实施方式中,硬件描述参数包括下述至少一项:所述AI平台的存储层级、直接存储器访问DMA单元架构、各DMA单元带宽速率、各DMA单元延迟、各DMA单元单次数据搬运量、各DMA单元配置时间、计算单元之间的同步等待时间、各DMA单元执行方式以及计算单元执行方式。
具体的,在获取AI平台的硬件描述参数之后,按照AI平台的硬件描述参数对标准成本模型进行参数设置,即可得到与AI平台匹配的时间成本模型。
S3130、采用时间成本模型分别评估每个备选切分图样在至少一个运算循环方式下的时间开销。
S3140、根据各时间开销,获取与最小时间开销对应的目标切分图样,并获取所述目标切分图样在所述最小时间开销下的目标运算循环方式。
具体的,在计算出每个备选切分图样在至少一个运算循环方式下的时间开销之后,可以在各时间开销中筛选出数值最小的最小时间开销,将最小时间开销对应的备选切分图样作为目标切分图样,并将目标切分图样对应的运算循环方式作为目标运算循环方式。
S3150、将目标切分图样和目标运算循环方式组合得到目标切分策略。
S3160、在机器学习模型的执行过程中,按照目标切分策略执行针对目标算子的在线计算。
本发明通过获取当前加载至AI平台的机器学习模型,在机器学习模型中识别目标算子,并获取与目标算子匹配的多个切分类别,进而,根据目标算子中各算子参数的各张量维度,计算目标算子在每种切分类别下,在每级存储空间中所需占用的目标数据量,当目标算子在当前切分类别下,针对每级存储空间计算得到的目标数据量均小于该级存储空间的存储空间容量上限时,确定当前切分类别为满足硬件规格条件的目标切分类别,并在每个目标切分类别中,分别确定目标算子的每个算子参数的每个张量维度在每级存储空间中的切分维度取值范围,进而,在当前目标切分类别下,获取目标算子的每个算子参数的每个张量维度在每级存储空间中的当前切分维度取值范围,在各当前切分维度取值范围中,对各当前切分维度取值进行一次过滤,并按照至少一项优先级排序规则,对各当前切分维度取值范围中的各当前切分维度取值进行优先级排序处理,进一步,采用优先级排序后的各当前切分维度取值范围,构建多层级嵌套循环进行搜索,并按照当前目标切分类别的并行度描述信息,将搜索过程中每次生成的组合切分图样与AI平台的硬件规格进行匹配,获取匹配成功的备选切分图样,以及,根据每次匹配成功的备选切分图样中的各切分维度取值在多层级嵌套循环中每一层级中的排序位置,对多层级嵌套循环中未搜索的切分维度取值进行二次过滤,直至完成对多层级嵌套循环的遍历过程,最终,获取预先构建的标准成本模型,根据AI平台的硬件描述参数,对标准成本模型进行参数设置,得到与AI平台匹配的时间成本模型,并采用时间成本模型分别评估每个备选切分图样在至少一个运算循环方式下的时间开销,根据各时间开销,获取与最小时间开销对应的目标切分图样,以及获取目标切分图样在最小时间开销下的目标运算循环方式,将目标切分图样和目标运算循环方式组合得到目标切分策略,在机器学习模型的执行过程中,按照目标切分策略执行针对目标算子的在线计算,解决了现有技术中无法在线即时地识别出各算子对应的高效切分策略,维护成本较高的问题,能够在线即时地识别出机器学习模型中各算子代价较优的切分策略,使得AI平台的功耗约束能够满足,目标算子的执行效率得到显著的提高。
实施例四
图5为本发明实施例四提供的一种切分策略的在线生成装置的结构示意图。如图5所示,该装置包括:目标算子识别模块410、切分图样确定模块420、时间开销评估模块430、切分策略确定模块440以及在线计算模块450;
其中,目标算子识别模块410,用于获取当前加载至AI平台的机器学习模型,并在机器学习模型中识别目标算子;AI平台中包括多级存储空间、至少一个用于在多级存储空间之间进行数据搬运的DMA单元和至少一个用于计算的计算单元,多级存储空间中包括共享存储空间和独占存储空间;
切分图样确定模块420,用于根据目标算子中各算子参数的各张量维度和AI平台的硬件规格,确定与目标算子匹配的多个备选切分图样;切分图样包括目标算子的每个算子参数的每个张量维度在每级存储空间中的切分方式以及每个算子参数的每个张量维度在多个计算单元中是否并行执行的并行度描述信息;
时间开销评估模块430,用于获取与AI平台匹配的时间成本模型,并采用时间成本模型分别评估每个备选切分图样在至少一个运算循环方式下的时间开销;
切分策略确定模块440,用于根据各时间开销,确定目标切分图样和目标运算循环方式,并将目标切分图样和目标运算循环方式组合得到目标切分策略;
在线计算模块450,用于在机器学习模型的执行过程中,按照目标切分策略执行针对目标算子的在线计算。
本发明通过获取当前加载至AI平台的机器学习模型,并在机器学习模型中识别目标算子;进而,根据目标算子中各算子参数的各张量维度和AI平台的硬件规格,确定与目标算子匹配的多个备选切分图样;进一步,获取与AI平台匹配的时间成本模型,并采用时间成本模型分别评估每个备选切分图样在至少一个运算循环方式下的时间开销;以及,根据各时间开销,确定由目标切分图样和目标运算循环方式组合得到目标切分策略;最终,在机器学习模型的执行过程中,按照目标切分策略执行针对目标算子的在线计算,解决了算子切分策略在线即时生成的业务需求,最大程度地降低了人为干预,降低了维护成本,完成了算子切分策略的确定过程和实现过程的一体化。
可选的,切分图样确定模块420包括:切分类别获取单元、目标数据量计算单元、目标切分类别识别单元以及备选切分图样确定单元;
其中,切分类别获取单元,用于获取与所述目标算子匹配的多个切分类别,其中,切分类别中定义了目标算子的每个算子参数的每个张量维度在每级存储空间中是否进行切分,以及每个算子参数的每个张量维度在多个计算单元中是否并行执行的并行度描述信息;
目标数据量计算单元,用于根据目标算子中各算子参数的各张量维度,计算所述目标算子在每种切分类别下,在每级存储空间中所需占用的目标数据量;
目标切分类别识别单元,用于根据所述目标数据量和所述AI平台的硬件规格,在全部切分类别中识别满足硬件规格条件的至少一个目标切分类别;
备选切分图样确定单元,用于在各所述目标切分类别中,确定与目标算子匹配的多个备选切分图样。
可选的,目标数据量计算单元,具体可以用于:
获取目标算子在当前切分类别下,在每级存储空间中的输入数据最小切片数据量以及输出数据最小切片数据量;
获取独占存储空间中输入数据最小切片数据量和输出数据最小切片数据量的总和,作为目标算子在当前切分类别下,在独占存储空间中所需占用的目标数据量;
根据所述当前切分类别中的并行度描述信息,将每个共享存储空间中的输入数据最小切片数据量划分为独享数据量和共享数据量;
根据每个共享存储空间中的独享数据量、共享数据量、输出数据最小切片数据量以及目标算子在AI平台中可使用的计算单元数量,计算目标算子在当前切分类别下,在各共享存储空间中所需占用的目标数据量。
可选的,备选切分图样确定单元具体可以包括:切分维度取值范围确定子单元及备选切分图样确定子单元;
其中,切分维度取值范围确定子单元,用于在每个目标切分类别中,分别确定目标算子的每个算子参数的每个张量维度在每级存储空间中的切分维度取值范围;
备选切分图样确定子单元,用于按照与每个目标切分类别对应的切分维度取值范围以及每个目标切分类别中的并行度描述信息,组合得到多个组合切分图样,并在各组合切分图样中筛选得到满足所述AI平台的硬件规格的多个备选切分图样。
可选的,备选切分图样确定子单元,具体可以用于:在当前目标切分类别下,获取目标算子的每个算子参数的每个张量维度在每级存储空间中的当前切分维度取值范围;
在各所述当前切分维度取值范围中,对各当前切分维度取值进行一次过滤,并按照至少一项优先级排序规则,对各所述当前切分维度取值范围中的各当前切分维度取值进行优先级排序处理;
采用优先级排序后的各所述当前切分维度取值范围,构建多层级嵌套循环进行搜索;
按照当前目标切分类别的并行度描述信息,将搜索过程中每次生成的组合切分图样与AI平台的硬件规格进行匹配,获取匹配成功的备选切分图样;
根据每次匹配成功的备选切分图样中的各切分维度取值在所述多层级嵌套循环中每一层级中的排序位置,对所述多层级嵌套循环中未搜索的切分维度取值进行二次过滤,直至完成对所述多层级嵌套循环的遍历过程。
可选的,备选切分图样确定子单元,具体可以用于:
获取所述AI平台的寄存器硬件规格,按照所述寄存器硬件规格对各当前切分维度取值进行过滤;
优先级排序规则包括:因数优先规则、目标算子在所述AI平台中可使用的计算单元数量的整数倍优先规则以及大数优先规则。
可选的,备选切分图样确定子单元,具体可以用于:
获取当前匹配成功的备选切分图样中的各目标切分维度取值在所述多层级嵌套循环中每一层级中的排序位置;
如果根据各目标切分维度取值的排序位置,确定从最内层循环开始,至少一个连续内层循环中的目标切分维度取值均位于首个排序位置,则将紧邻所述连续内层循环的目标外层循环中的目标切分维度取值之后的全部未搜索的切分维度取值进行过滤。
可选的,时间开销评估模块430具体可以包括:标准成本模型获取单元及参数设置单元;
其中,标准成本模型获取单元,用于获取预先构建的标准成本模型;
参数设置单元,用于根据所述AI平台的硬件描述参数,对所述标准成本模型进行参数设置,得到与所述AI平台匹配的时间成本模型。
可选的,硬件描述参数包括下述至少一项:所述AI平台的存储层级、直接存储器访问DMA单元架构、各DMA单元带宽速率、各DMA单元延迟、各DMA单元单次数据搬运量、各DMA单元配置时间、计算单元之间的同步等待时间、各DMA单元执行方式以及计算单元执行方式。
可选的,时间开销评估模块430,具体可以用于:
将当前备选切分图样,以及与所述当前备选切分图样匹配的至少一个运算循环方式输入至所述时间成本模型;
通过所述时间成本模型根据所述当前备选切分图样和各所述运算循环方式,计算所述当前备选切分图样在每种运算循环方式下的重复搬运次数;
通过所述时间成本模型根据各所述重复搬运次数,计算所述当前备选切分图样在每种运算循环方式下的时间开销。
可选的,切分策略确定模块440,具体可以用于:根据各时间开销,获取与最小时间开销对应的目标切分图样,并获取所述目标切分图样在所述最小时间开销下的目标运算循环方式。
本发明实施例所提供的切分策略的在线生成装置可执行本发明任意实施例所提供的切分策略的在线生成方法,具备执行方法相应的功能模块和有益效果。
实施例五
图6示出了可以用来实施本发明的实施例的电子设备510的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图6所示,电子设备510包括至少一个处理器520,以及与至少一个处理器520通信连接的存储器,如只读存储器(ROM)530、随机访问存储器(RAM)540等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器520可以根据存储在只读存储器(ROM)530中的计算机程序或者从存储单元590加载到随机访问存储器(RAM)540中的计算机程序,来执行各种适当的动作和处理。在RAM540中,还可存储电子设备510操作所需的各种程序和数据。处理器520、ROM530以及RAM540通过总线550彼此相连。输入/输出(I/O)接口560也连接至总线550。
电子设备510中的多个部件连接至I/O接口560,包括:输入单元570,例如键盘、鼠标等;输出单元580,例如各种类型的显示器、扬声器等;存储单元590,例如磁盘、光盘等;以及通信单元5100,例如网卡、调制解调器、无线通信收发机等。通信单元5100允许电子设备510通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器520可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器520的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器520执行上文所描述的各个方法和处理,例如切分策略的在线生成方法。
该方法包括:
获取当前加载至AI平台的机器学习模型,并在机器学习模型中识别目标算子;AI平台中包括多级存储空间、至少一个用于在多级存储空间之间进行数据搬运的DMA单元和至少一个用于计算的计算单元,多级存储空间中包括共享存储空间和独占存储空间;
根据目标算子中各算子参数的各张量维度和AI平台的硬件规格,确定与目标算子匹配的多个备选切分图样;切分图样包括目标算子的每个算子参数的每个张量维度在每级存储空间中的切分方式以及每个算子参数的每个张量维度在多个计算单元中是否并行执行的并行度描述信息;
获取与AI平台匹配的时间成本模型,并采用时间成本模型分别评估每个备选切分图样在至少一个运算循环方式下的时间开销;
根据各时间开销,确定目标切分图样和目标运算循环方式,并将目标切分图样和目标运算循环方式组合得到目标切分策略;
在机器学习模型的执行过程中,按照目标切分策略执行针对目标算子的在线计算。
在一些实施例中,切分策略的在线生成方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元590。在一些实施例中,计算机程序的部分或者全部可以经由ROM530和/或通信单元5100而被载入和/或安装到电子设备510上。当计算机程序加载到RAM540并由处理器520执行时,可以执行上文描述的切分策略的在线生成方法的一个或多个步骤。备选地,在其他实施例中,处理器520可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行切分策略的在线生成方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (15)
1.一种切分策略的在线生成方法,其特征在于,包括:
获取当前加载至人工智能AI平台的机器学习模型,并在机器学习模型中识别目标算子;AI平台中包括多级存储空间、至少一个用于在多级存储空间之间进行数据搬运的直接存储访问DMA单元和至少一个用于计算的计算单元,多级存储空间中包括共享存储空间和独占存储空间;
根据目标算子中各算子参数的各张量维度和AI平台的硬件规格,确定与目标算子匹配的多个备选切分图样;切分图样包括目标算子的每个算子参数的每个张量维度在每级存储空间中的切分方式以及每个算子参数的每个张量维度在多个计算单元中是否并行执行的并行度描述信息;
获取与AI平台匹配的时间成本模型,并采用时间成本模型分别评估每个备选切分图样在至少一个运算循环方式下的时间开销;
根据各时间开销,确定目标切分图样和目标运算循环方式,并将目标切分图样和目标运算循环方式组合得到目标切分策略;
在机器学习模型的执行过程中,按照目标切分策略执行针对目标算子的在线计算。
2.根据权利要求1所述的方法,其特征在于,根据目标算子中各算子参数的各张量维度和AI平台的硬件规格,确定与目标算子匹配的多个备选切分图样,包括:
获取与所述目标算子匹配的多个切分类别,其中,切分类别中定义了目标算子的每个算子参数的每个张量维度在每级存储空间中是否进行切分,以及每个算子参数的每个张量维度在多个计算单元中是否并行执行的并行度描述信息;
根据目标算子中各算子参数的各张量维度,计算所述目标算子在每种切分类别下,在每级存储空间中所需占用的目标数据量;
根据所述目标数据量和所述AI平台的硬件规格,在全部切分类别中识别满足硬件规格条件的至少一个目标切分类别;
在各所述目标切分类别中,确定与目标算子匹配的多个备选切分图样。
3.根据权利要求2所述的方法,其特征在于,根据目标算子中各算子参数的各张量维度,计算所述目标算子在每种切分类别下,在每级存储空间中所需占用的目标数据量,包括:
获取目标算子在当前切分类别下,在每级存储空间中的输入数据最小切片数据量以及输出数据最小切片数据量;
获取独占存储空间中输入数据最小切片数据量和输出数据最小切片数据量的总和,作为目标算子在当前切分类别下,在独占存储空间中所需占用的目标数据量;
根据所述当前切分类别中的并行度描述信息,将每个共享存储空间中的输入数据最小切片数据量划分为独享数据量和共享数据量;
根据每个共享存储空间中的独享数据量、共享数据量、输出数据最小切片数据量以及目标算子在AI平台中可使用的计算单元数量,计算目标算子在当前切分类别下,在各共享存储空间中所需占用的目标数据量。
4.根据权利要求3所述的方法,其特征在于,根据所述目标数据量和所述AI平台的硬件规格,在全部切分类别中识别满足硬件规格条件的至少一个目标切分类别,包括:
当目标算子在当前切分类别下,针对每级存储空间计算得到的所述目标数据量均小于该级存储空间的存储空间容量上限时,确定当前切分类别为满足硬件规格条件的目标切分类别。
5.根据权利要求2所述的方法,其特征在于,在各所述目标切分类别中,确定与目标算子匹配的多个备选切分图样,包括:
在每个目标切分类别中,分别确定目标算子的每个算子参数的每个张量维度在每级存储空间中的切分维度取值范围;
按照与每个目标切分类别对应的切分维度取值范围以及每个目标切分类别中的并行度描述信息,组合得到多个组合切分图样,并在各组合切分图样中筛选得到满足所述AI平台的硬件规格的多个备选切分图样。
6.根据权利要求5所述的方法,其特征在于,按照与每个目标切分类别对应的切分维度取值范围以及每个目标切分类别中的并行度描述信息,组合得到多个组合切分图样,并在各组合切分图样中筛选得到满足所述AI平台的硬件规格的多个备选切分图样,包括:
在当前目标切分类别下,获取目标算子的每个算子参数的每个张量维度在每级存储空间中的当前切分维度取值范围;
在各所述当前切分维度取值范围中,对各当前切分维度取值进行一次过滤,并按照至少一项优先级排序规则,对各所述当前切分维度取值范围中的各当前切分维度取值进行优先级排序处理;
采用优先级排序后的各所述当前切分维度取值范围,构建多层级嵌套循环进行搜索;
按照当前目标切分类别的并行度描述信息,将搜索过程中每次生成的组合切分图样与AI平台的硬件规格进行匹配,获取匹配成功的备选切分图样;
根据每次匹配成功的备选切分图样中的各切分维度取值在所述多层级嵌套循环中每一层级中的排序位置,对所述多层级嵌套循环中未搜索的切分维度取值进行二次过滤,直至完成对所述多层级嵌套循环的遍历过程。
7.根据权利要求6所述的方法,其特征在于,在各所述当前切分维度取值范围中,对各当前切分维度取值进行一次过滤,包括:
获取所述AI平台的寄存器硬件规格,按照所述寄存器硬件规格对各当前切分维度取值进行过滤;
优先级排序规则包括:因数优先规则、目标算子在所述AI平台中可使用的计算单元数量的整数倍优先规则以及大数优先规则。
8.根据权利要求6所述的方法,其特征在于,根据每次匹配成功的备选切分图样中的各切分维度取值在所述多层级嵌套循环中每一层级中的排序位置,对所述多层级嵌套循环中未搜索的切分维度取值进行二次过滤,包括:
获取当前匹配成功的备选切分图样中的各目标切分维度取值在所述多层级嵌套循环中每一层级中的排序位置;
如果根据各目标切分维度取值的排序位置,确定从最内层循环开始,至少一个连续内层循环中的目标切分维度取值均位于首个排序位置,则将紧邻所述连续内层循环的目标外层循环中的目标切分维度取值之后的全部未搜索的切分维度取值进行过滤。
9.根据权利要求1-8任一项所述的方法,其特征在于,获取与所述AI平台匹配的时间成本模型,包括:
获取预先构建的标准成本模型;
根据所述AI平台的硬件描述参数,对所述标准成本模型进行参数设置,得到与所述AI平台匹配的时间成本模型。
10.根据权利要求9所述的方法,其特征在于,所述硬件描述参数包括下述至少一项:
所述AI平台的存储层级、直接存储器访问DMA单元架构、各DMA单元带宽速率、各DMA单元延迟、各DMA单元单次数据搬运量、各DMA单元配置时间、计算单元之间的同步等待时间、各DMA单元执行方式以及计算单元执行方式。
11.根据权利要求1-8任一项所述的方法,其特征在于,采用时间成本模型分别评估每个备选切分图样在至少一个运算循环方式下的时间开销,包括:
将当前备选切分图样,以及与所述当前备选切分图样匹配的至少一个运算循环方式输入至所述时间成本模型;
通过所述时间成本模型根据所述当前备选切分图样和各所述运算循环方式,计算所述当前备选切分图样在每种运算循环方式下的重复搬运次数;
通过所述时间成本模型根据各所述重复搬运次数,计算所述当前备选切分图样在每种运算循环方式下的时间开销。
12.根据权利要求11所述的方法,其特征在于,根据各时间开销,确定目标切分图样和目标运算循环方式,包括:
根据各时间开销,获取与最小时间开销对应的目标切分图样,并获取所述目标切分图样在所述最小时间开销下的目标运算循环方式。
13.一种切分策略的在线生成装置,其特征在于,包括:
目标算子识别模块,用于获取当前加载至人工智能AI平台的机器学习模型,并在机器学习模型中识别目标算子;AI平台中包括多级存储空间、至少一个用于在多级存储空间之间进行数据搬运的直接存储访问DMA单元和至少一个用于计算的计算单元,多级存储空间中包括共享存储空间和独占存储空间;
切分图样确定模块,用于根据目标算子中各算子参数的各张量维度和AI平台的硬件规格,确定与目标算子匹配的多个备选切分图样;切分图样包括目标算子的每个算子参数的每个张量维度在每级存储空间中的切分方式以及每个算子参数的每个张量维度在多个计算单元中是否并行执行的并行度描述信息;
时间开销评估模块,用于获取与AI平台匹配的时间成本模型,并采用时间成本模型分别评估每个备选切分图样在至少一个运算循环方式下的时间开销;
切分策略确定模块,用于根据各时间开销,确定目标切分图样和目标运算循环方式,并将目标切分图样和目标运算循环方式组合得到目标切分策略;
在线计算模块,用于在机器学习模型的执行过程中,按照目标切分策略执行针对目标算子的在线计算。
14.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-12中任一项所述的切分策略的在线生成方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-12中任一项所述的切分策略的在线生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211516714.9A CN115904539A (zh) | 2022-11-29 | 2022-11-29 | 一种切分策略的在线生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211516714.9A CN115904539A (zh) | 2022-11-29 | 2022-11-29 | 一种切分策略的在线生成方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115904539A true CN115904539A (zh) | 2023-04-04 |
Family
ID=85731832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211516714.9A Pending CN115904539A (zh) | 2022-11-29 | 2022-11-29 | 一种切分策略的在线生成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115904539A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501505A (zh) * | 2023-06-27 | 2023-07-28 | 上海燧原科技有限公司 | 负载任务的数据流生成方法、装置、设备及介质 |
CN116501594A (zh) * | 2023-06-27 | 2023-07-28 | 上海燧原科技有限公司 | 系统建模评估方法、装置、电子设备及存储介质 |
CN116501504A (zh) * | 2023-06-27 | 2023-07-28 | 上海燧原科技有限公司 | 数据流的时空映射方法、装置、电子设备及存储介质 |
CN116842307A (zh) * | 2023-08-28 | 2023-10-03 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备、芯片及存储介质 |
CN116954721A (zh) * | 2023-09-20 | 2023-10-27 | 天津南大通用数据技术股份有限公司 | 一种执行器多模态算子异步非阻塞分裂方法 |
CN117785492A (zh) * | 2024-02-28 | 2024-03-29 | 上海燧原智能科技有限公司 | 一种算子的切分方式确定方法、装置、设备及介质 |
CN117785492B (zh) * | 2024-02-28 | 2024-05-17 | 上海燧原智能科技有限公司 | 一种算子的切分方式确定方法、装置、设备及介质 |
-
2022
- 2022-11-29 CN CN202211516714.9A patent/CN115904539A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501505A (zh) * | 2023-06-27 | 2023-07-28 | 上海燧原科技有限公司 | 负载任务的数据流生成方法、装置、设备及介质 |
CN116501594A (zh) * | 2023-06-27 | 2023-07-28 | 上海燧原科技有限公司 | 系统建模评估方法、装置、电子设备及存储介质 |
CN116501504A (zh) * | 2023-06-27 | 2023-07-28 | 上海燧原科技有限公司 | 数据流的时空映射方法、装置、电子设备及存储介质 |
CN116501594B (zh) * | 2023-06-27 | 2023-09-08 | 上海燧原科技有限公司 | 系统建模评估方法、装置、电子设备及存储介质 |
CN116501505B (zh) * | 2023-06-27 | 2023-09-12 | 上海燧原科技有限公司 | 负载任务的数据流生成方法、装置、设备及介质 |
CN116501504B (zh) * | 2023-06-27 | 2023-09-12 | 上海燧原科技有限公司 | 数据流的时空映射方法、装置、电子设备及存储介质 |
CN116842307A (zh) * | 2023-08-28 | 2023-10-03 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备、芯片及存储介质 |
CN116842307B (zh) * | 2023-08-28 | 2023-11-28 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备、芯片及存储介质 |
CN116954721A (zh) * | 2023-09-20 | 2023-10-27 | 天津南大通用数据技术股份有限公司 | 一种执行器多模态算子异步非阻塞分裂方法 |
CN116954721B (zh) * | 2023-09-20 | 2023-12-15 | 天津南大通用数据技术股份有限公司 | 一种执行器多模态算子异步非阻塞分裂方法 |
CN117785492A (zh) * | 2024-02-28 | 2024-03-29 | 上海燧原智能科技有限公司 | 一种算子的切分方式确定方法、装置、设备及介质 |
CN117785492B (zh) * | 2024-02-28 | 2024-05-17 | 上海燧原智能科技有限公司 | 一种算子的切分方式确定方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115904539A (zh) | 一种切分策略的在线生成方法、装置、设备及存储介质 | |
Lin et al. | Pagraph: Scaling gnn training on large graphs via computation-aware caching | |
CN110070117B (zh) | 一种数据处理方法及装置 | |
JP7234370B2 (ja) | ニューラルネットワークを使用した集積回路フロアプランの生成 | |
WO2018099084A1 (zh) | 一种神经网络模型训练方法、装置、芯片和系统 | |
US20170206184A9 (en) | Techniques to perform curve fitting for statistical tests | |
Chen et al. | Deep learning research and development platform: Characterizing and scheduling with qos guarantees on gpu clusters | |
CN103345514A (zh) | 大数据环境下的流式数据处理方法 | |
CN114330699A (zh) | 神经网络结构搜索方法及装置 | |
Bai et al. | Efficient data loader for fast sampling-based gnn training on large graphs | |
CN112764893B (zh) | 数据处理方法和数据处理系统 | |
CN113391913A (zh) | 一种基于预测的分布式调度方法和装置 | |
CN112433853A (zh) | 一种面向超级计算机数据并行应用的异构感知数据划分方法 | |
WO2021115082A1 (zh) | 作业调度方法以及作业调度装置 | |
EP4280107A1 (en) | Data processing method and apparatus, device, and medium | |
CN116501505B (zh) | 负载任务的数据流生成方法、装置、设备及介质 | |
Li et al. | On runtime communication-and thermal-aware application mapping in 3D NoC | |
Yang et al. | Trust-based scheduling strategy for cloud workflow applications | |
EP3855316A1 (en) | Optimizing breakeven points for enhancing system performance | |
Bytyn et al. | Dataflow aware mapping of convolutional neural networks onto many-core platforms with network-on-chip interconnect | |
Li et al. | An application-oblivious memory scheduling system for DNN accelerators | |
CN114021733A (zh) | 模型训练优化方法、装置、计算机设备及存储介质 | |
Bengre et al. | A learning-based scheduler for high volume processing in data warehouse using graph neural networks | |
Lv et al. | A Survey of Graph Pre-processing Methods: From Algorithmic to Hardware Perspectives | |
CN112383443A (zh) | 运行于rdma通信环境的并行应用通信性能预测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Country or region after: China Address after: Room a-522, 188 Yesheng Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201306 Applicant after: Shanghai Suiyuan Technology Co.,Ltd. Address before: Room a-522, 188 Yesheng Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201306 Applicant before: SHANGHAI ENFLAME TECHNOLOGY Co.,Ltd. Country or region before: China |