CN111796917A - 算子运算调度方法和装置 - Google Patents
算子运算调度方法和装置 Download PDFInfo
- Publication number
- CN111796917A CN111796917A CN201910282106.8A CN201910282106A CN111796917A CN 111796917 A CN111796917 A CN 111796917A CN 201910282106 A CN201910282106 A CN 201910282106A CN 111796917 A CN111796917 A CN 111796917A
- Authority
- CN
- China
- Prior art keywords
- scheduling
- operator
- parameters
- feasible
- strategies
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000001914 filtration Methods 0.000 claims abstract description 20
- 238000012549 training Methods 0.000 claims description 37
- 230000011218 segmentation Effects 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 6
- 241001522296 Erithacus rubecula Species 0.000 claims description 5
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 239000011159 matrix material Substances 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 5
- 125000004122 cyclic group Chemical group 0.000 description 5
- 238000000638 solvent extraction Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013500 data storage 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
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/008—Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Robotics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种算子运算调度方法和装置。本申请算子运算调度方法,包括:获取算子运算对应的算子参数和处理器参数;根据算子参数和处理器参数创建N个调度策略,N个调度策略分类为M个调度策略子集,每个调度策略子集包括至少一个调度策略;根据算子参数和处理器参数分别对M个调度策略子集进行过滤处理,获取K个可行调度策略,K个可行调度策略分别为M个调度策略子集中的K个可行调度子集的最优调度策略,K为小于或等于M的自然数;将算子参数和K个可行调度策略输入代价模型得到K个算子运算代价,K个算子运算代价与K个可行调度策略一一对应;根据目标需求和K个算子运算代价确定用于算子运算的最优调度策略。本申请实现了对处理器架构和算子类型的通用处理,并提高算子运算性能。
Description
技术领域
本申请涉及人工智能技术,尤其涉及一种算子运算调度方法和装置。
背景技术
随着人工智能(Artificial Intelligence,简称:AI)的快速发展,越来越多的实际应用开始使用深度学习技术,例如,语音识别,机器翻译,自动驾驶等,深度学习技术在现实生活的应用中有巨大潜力,这也使得它越来越受到关注。而深度学习技术所采用的深度神经网络(Deep Neural Network,简称:DNN)的计算效率,直接影响着实际应用的效果,例如,自动驾驶中的目标检测,目标识别,运动预测等算法的计算时间决定了算法的可用性和安全性。因此,如何高性能地进行AI计算是工业产品落地的迫切需求。
AI计算通常使用两种类型的芯片:通用计算芯片和专用芯片。通用计算芯片包括中央处理器(Central Processing Unit,简称:CPU)和图形处理器(Graphics ProcessingUnit,简称:GPU)。而专用芯片,已经有很多公司纷纷在AI芯片上开始大力布局。因此面对多种芯片架构,如何使用通用的算法来提升异构芯片的计算效率,面临着巨大的困难和挑战。
目前,业界已经出现了一些解决方法,一种利用人工神经网络(ArtificialNeural Network,简称:ANN)拟合嵌套循环切分对性能的影响,并用以指导嵌套循环切分的算子运算调度方法,该方法将嵌套循环切分的大小作为参数,通过对所有可能的嵌套循环切分的大小空间采样,建立嵌套循环切分的大小和性能的ANN模型,然后用ANN模型替代真实机器遍历所有可能的嵌套循环切分的大小空间,选出候选嵌套循环切分的大小,最后经过实际机器运行选出最优嵌套循环切分的大小。
但是,上述方法只针对一种算子运算,通用性不高,而且需要用ANN遍历所有可能的算子运算空间,非常耗时,还需要经过实际机器多次运行调度策略,无法满足调度策略的毫秒级实时输出。
发明内容
本申请提供一种算子运算调度方法和装置,以实现对处理器架构和算子类型的通用处理,并提高算子运算性能。
第一方面,本申请提供一种算子运算调度方法,包括:获取算子运算对应的算子参数和处理器参数;根据所述算子参数和所述处理器参数创建N个调度策略,所述N个调度策略分类为M个调度策略子集,每个所述调度策略子集包括至少一个所述调度策略,N和M均为自然数;根据所述算子参数和所述处理器参数分别对所述M个调度策略子集进行过滤处理,获取K个可行调度策略,所述K个可行调度策略分别为所述M个调度策略子集中的K个可行调度子集的最优调度策略,K为小于或等于M的自然数;将所述算子参数和所述K个可行调度策略输入代价模型得到K个算子运算代价,所述K个算子运算代价与所述K个可行调度策略一一对应;根据目标需求和所述K个算子运算代价确定用于所述算子运算的最优调度策略。
本申请通过将处理器和算子参数中难以直接建模的因素用以创建多个调度策略,将这些调度策略分类为多个调度策略子集,然后对各个调度策略子集进行过滤处理得到每个调度策略子集中的最优调度策略,降低了待搜索的调度策略子集的数目,最后经过代价模型得到用于算子运算的最优调度策略,使得算子运算调度方法可以支持任意算子参数和处理器参数的调度策略输出,实现了对处理器架构和算子类型的通用处理,并提高算子运算性能。
在一种可能的实现方式中,所述根据所述算子参数和所述处理器参数分别对所述M个调度策略子集进行过滤处理,获取K个可行调度策略,包括:根据所述算子参数和所述处理器参数确定约束条件,根据所述约束条件分别对所述M个调度策略子集进行过滤处理得到所述K个可行调度子集;将所述K个可行调度子集中的调度策略分别输入目标函数获取所述K个可行调度策略,所述K个可行调度策略分别为所述K个可行调度子集中的最优调度策略。
在一种可能的实现方式中,所述根据目标需求和所述K个算子运算代价确定所述算子运算的最优调度策略,包括:根据所述K个算子运算代价选取满足所述目标需求的可行调度策略为所述最优调度策略。
在一种可能的实现方式中,所述算子参数包括以下至少一种信息:算子类型或者算子大小;所述处理器参数包括以下至少一种信息:处理器架构、缓存层级、缓存容量和带宽、计算能力或者处理主频;所述调度策略包括以下至少一种信息:切分类型、循环顺序或者数据流。
在一种可能的实现方式中,所述获取算子运算对应的算子参数和处理器参数之前,还包括:获取样本算子参数和样本处理器参数,所述样本算子参数为可获取的算子参数,所述本处理器参数为可获取的处理器参数;根据所述样本算子参数和所述样本处理器参数创建X个调度策略,所述X个调度策略分类为Y个调度策略子集,每个所述调度策略子集包括至少一个所述调度策略,X和Y均为自然数;根据所述样本算子参数和所述样本处理器参数分别对所述Y个调度策略子集进行过滤处理,获取Z个可行调度策略,所述Z个可行调度策略分别为所述Y个调度策略子集中的Z个可行调度子集的最优调度策略,Z为小于或等于Y的自然数;根据所述样本算子参数和所述Z个可行调度策略训练得到所述代价模型。
本申请在离线状态下,通过尽可能多的将处理器和算子参数中难以直接建模的因素用以创建多个调度策略,将这些调度策略分类为多个调度策略子集,然后对各个调度策略子集进行过滤处理得到每个调度策略子集中的最优调度策略,降低了待搜索的调度策略子集的数目,最后以实际处理器运行代价为目标经过训练得到的代价模型,提高了代价获取的准确性,并提高在线处理的效率。
在一种可能的实现方式中,所述根据所述样本算子参数和所述Z个可行调度策略训练得到所述代价模型,包括:将所述样本算子参数和所述Z个可行调度策略输入相应的处理器得到Z个算子运算代价,所述Z个算子运算代价与所述Z个可行调度策略一一对应;以所述Z个算子运算代价为目标,根据所述样本算子参数和所述Z个可行调度策略训练得到所述代价模型。
第二方面,本申请提供一种算子运算调度装置,包括:通用调度模块,用于获取算子运算对应的算子参数和处理器参数;根据所述算子参数和所述处理器参数创建N个调度策略,所述N个调度策略分类为M个调度策略子集,每个所述调度策略子集包括至少一个所述调度策略,N和M均为自然数;全局特征模块,用于根据所述算子参数和所述处理器参数分别对所述M个调度策略子集进行过滤处理,获取K个可行调度策略,所述K个可行调度策略分别为所述M个调度策略子集中的K个可行调度子集的最优调度策略,K为小于或等于M的自然数;代价模型,用于将所述算子参数和所述K个可行调度策略输入代价模型得到K个算子运算代价,所述K个算子运算代价与所述K个可行调度策略一一对应;最优调度选择模块,用于根据目标需求和所述K个算子运算代价确定所述算子运算的最优调度策略。
在一种可能的实现方式中,所述全局特征模块,具体用于根据所述算子参数和所述处理器参数确定约束条件,根据所述约束条件分别对所述M个调度策略子集进行过滤处理得到所述K个可行调度子集;将所述K个可行调度子集中的调度策略分别输入目标函数获取所述K个可行调度策略,所述K个可行调度策略分别为所述K个可行调度子集中的最优调度策略。
在一种可能的实现方式中,所述最优调度选择模块,具体用于根据所述K个算子运算代价选取满足所述目标需求的可行调度策略为所述最优调度策略。
在一种可能的实现方式中,所述算子参数包括以下至少一种信息:算子类型或者算子大小;所述处理器参数包括以下至少一种信息:处理器架构、缓存层级、缓存容量和带宽、计算能力或者处理主频;所述调度策略包括以下至少一种信息:切分类型、循环顺序或者数据流。
在一种可能的实现方式中,还包括:训练模块;所述通用调度模块,还用于获取样本算子参数和样本处理器参数,所述样本算子参数为可获取的算子参数,所述样本处理器参数为可获取的处理器参数;根据所述样本算子参数和所述样本处理器参数创建X个调度策略,所述X个调度策略分类为Y个调度策略子集,每个所述调度策略子集包括至少一个所述调度策略,X和Y均为自然数;所述全局特征模块,还用于根据所述样本算子参数和所述样本处理器参数分别对所述Y个调度策略子集进行过滤处理,获取Z个可行调度策略,所述Z个可行调度策略分别为所述Y个调度策略子集中的Z个可行调度子集的最优调度策略,Z为小于或等于Y的自然数;所述训练模型,用于根据所述样本算子参数和所述Z个可行调度策略训练得到所述代价模型。
在一种可能的实现方式中,所述训练模型,具体用于将所述样本算子参数和所述Z个可行调度策略输入相应的处理器得到Z个算子运算代价,所述Z个算子运算代价与所述Z个可行调度策略一一对应;以所述Z个算子运算代价为目标,根据所述样本算子参数和所述Z个可行调度策略训练得到所述代价模型。
第三方面,本申请提供一种计算机设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述第一方面中任一的方法。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有指令,当指令在计算机上运行时,用于执行上述第一方面中任一项的方法。
第五方面,本申请提供一种计算机程序,当计算机程序被计算机执行时,用于执行上述第一方面中任一项的方法。
附图说明
图1为本申请算子运算调度方法实施例的应用场景示意图;
图2为本申请算子运算调度方法实施例一的流程图;
图3为本申请通用调度策略子集实施例的示意图;
图4为本申请可行调度策略实施例的示意图;
图5为本申请算子运算调度方法实施例二的流程图;
图6为本申请算子运算调度装置600实施例的结构示意图;
图7为本申请代价模型训练装置700实施例的结构示意图;
图8为本申请计算机设备实施例的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请算子运算调度方法实施例的应用场景示意图,如图1所示,本实施例的方法由算子运算调度***执行,算子运算调度***包括算子运算调度装置和代价模型训练装置,其中,代价模型训练装置根据可实现的算子参数数据集和可采用的处理器参数数据集训练得到获取各调度策略的代价模型,该过程是离线处理过程,即在非算子运算调度的情况下,代价模型训练装置尽可能多的搜集算子参数和处理器参数,将这些参数进行处理器的实际测试得到调度策略的实际代价,再以算子参数和处理器参数与实际代价之间的对应关系为目标,训练出代价模型。算子运算调度装置以算子运算对应的算子参数和处理器参数作为输入,经过代价模型后得到算子运算的最优调度策略,该过程是在线处理过程,即针对每个实际算子运算调度中的算子参数和处理器参数,结合训练得到的代价模型,确定其对应的最优调度策略。本申请的算子运算调度方法以包含在算子运算调度***的软件中,并部署在处理器硬件上的程序代码的形式实现。
需要说明的是,算子运算是对需进行运算过程的抽象描述,包括运算方法步骤和各步骤的操作数据等。调度策略是算子运算实际实现时的具体步骤,包括数据流的流向、数据切分大小和运算的先后次序等。调度策略子集是由调度策略组成的空间,空间中的每一个点代表一种调度策略。
图2为本申请算子运算调度方法实施例一的流程图,如图2所示,本实施例的方法由算子运算调度***执行,该方法可以包括:
步骤201、获取算子运算对应的算子参数和处理器参数。
算子运算调度***要确定用于算子运算的最优调度策略,首先需要获取相关算子参数和处理器参数,其中,算子参数包括以下至少一种信息:算子类型或者算子大小等,处理器参数包括以下至少一种信息:处理器架构、缓存层级、缓存容量和带宽、计算能力或者处理主频等。这些参数可以通过输入端输入的数据获取,也可以内部获取,根据处理器的型号或类型获取。
步骤202、根据算子参数和处理器参数创建N个调度策略。
上述N个调度策略分类为M个调度策略子集,每个调度策略子集包括至少一个调度策略,N和M均为自然数。本申请中算子运算调度***将处理器和算子参数中难以直接建模的因素,例如,算子类型、数据格式、处理器架构等,用以创建N个调度策略,再把这N个调度策略分类为M个调度策略子集,在每个调度策略子集中设定关联算子参数和处理器参数的通用过滤条件,可以实现硬件参数和软件参数的隔离,这样就可以支持任意算子参数和处理器参数的调度策略输出,保证调度方法可以适用于任何算子参数和任意处理器。由于算子运算调度***不是直接针对处理器架构和算子类型进行建模,而是构建M个调度策略子集,从而避免了建模精度对调度策略的影响和建模的时间消耗,以及建模的不可迁移性,实现了对处理器架构和算子类型的通用性。示例性的,图3为本申请调度策略子集实施例的示意图,如图3所示,调度策略子集i和调度策略子集j在以下因素中存在差异,包括:切分类型、循环顺序和数据流,即调度策略子集i中矩阵A和矩阵B分别按行和列切分,计算时先按照矩阵A的方式循环切分,再按照矩阵B的方式循环切分,整个切分过程经过三级缓存。调度策略子集j中矩阵A和矩阵B同时采用行和列切分,计算时先按照矩阵B的方式先列后行循环切分,再按照矩阵A的方式先行后列循环切分,整个切分过程经过两级缓存。
步骤203、根据算子参数和处理器参数分别对M个调度策略子集进行过滤处理,获取K个可行调度策略。
K个可行调度策略分别为M个调度策略子集中的K个可行调度子集的最优调度策略,K为小于或等于M的自然数。算子运算调度***根据算子参数和处理器参数确定约束条件,根据约束条件分别对M个调度策略子集进行过滤处理得到K个可行调度子集。由于根据约束条件可能从M个调度策略子集中过滤掉一个或多个子集,或者M个调度策略子集全部保留,因此K为小于或等于M的自然数。然后将K个可行调度子集中的调度策略分别输入目标函数获取K个可行调度策略,K个可行调度策略分别为K个可行调度子集中的最优调度策略。本申请中算子运算调度***先根据约束条件对M个调度策略子集进行一次过滤处理,过滤掉不可行的调度策略子集和/或调度策略,降低了待搜索的调度策略的数目,然后将K个可行调度子集中的调度策略分别输入目标函数进行进一步的过滤处理,使得输出的调度策略为可行调度策略子集中的最优的调度策略。由此以调度策略的数据复用率为指标,指导对可行调度策略子集的降维处理,数据复用率越高,重复的数据搬移就越少,性能也就越好,功耗也能越小。示例性的,图4为本申请可行调度策略子集实施例的示意图,如图4所示,根据算子参数和处理器参数对调度策略子集过滤得到可行调度策略子集,提取算子参数、处理器参数和调度策略的特征,然后对可行调度策略子集以数据复用率为目标进行降维处理,得到该可行调度策略子集中的最优调度策略。可行调度策略子集包括两个调度策略(i和j),调度策略i只对矩阵(A和B)进行一维(行或列)切分,切分后的矩阵超出了缓存大小,因此是不可行调度策略。调度策略j同时对矩阵(A和B)进行二维(行和列)进行切分,切分后的矩阵满足缓存大小要求,因此是可行调度策略子集中的最优调度策略,该调度策略的参数包括矩阵A的高度和宽度(A_H、A_W)和矩阵B的高度和宽度(B_H、B_W)。
步骤204、将算子参数和K个可行调度策略输入代价模型得到K个算子运算代价。
K个算子运算代价与K个可行调度策略一一对应。算子运算调度***将K个可行调度策略分别经过代价模型得到对应的算子运算代价,该算子运算代价包括但不限于算子运算的时间消耗、运行总功耗等。代价模型是预测调度策略的运行代价的模型,如上所述,代价模型是算子运算调度***在离线处理过程中训练得到的。
步骤205、根据目标需求和K个算子运算代价确定用于算子运算的最优调度策略。
算子运算调度***根据K个算子运算代价选取满足目标需求的可行调度策略为最优调度策略,目标需求包括客户的最优标准,例如,性能、功耗等的实现标准,在算子运算代价尽可能低的前提下,算子运算调度***可以参照目标需求从K个可行调度策略中选取其中之一作为用于算子运算的最优调度策略,包括功耗最低,性能符合客户标准等。
本申请,通过将处理器和算子参数中难以直接建模的因素用以创建多个调度策略,将这些调度策略分类为多个调度策略子集,然后对各个调度策略子集进行过滤处理得到每个调度策略子集中的最优调度策略,降低了待搜索的调度策略子集的数目,最后经过代价模型得到用于算子运算的最优调度策略,使得算子运算调度方法可以支持任意算子参数和处理器参数的调度策略输出,实现了对处理器架构和算子类型的通用处理,并提高算子运算性能。
上述实施例一是算子运算调度***在线根据算子运算对应的算子参数和处理器参数确定最优调度策略的过程,该过程中涉及到的代价模型是在离线过程中训练得到的,图5为本申请算子运算调度方法实施例二的流程图,如图5所示,本申请中代价模型的训练过程可以包括:
步骤501、获取样本算子参数和样本处理器参数。
样本算子参数为可获取的算子参数,样本处理器参数为可获取的处理器参数。为了训练出适用于任意算子参数和处理器参数的代价模型,算子运算调度***可以尽可能多得搜集可获取的算子参数和可获取的处理器参数,其中,算子参数包括以下至少一种信息:算子类型或者算子大小等,处理器参数包括以下至少一种信息:处理器架构、缓存层级、缓存容量和带宽、计算能力或者处理主频等。这些参数可以通过输入端输入的数据,或者根据处理器的型号或类型获取。
步骤502、根据样本算子参数和样本处理器参数创建X个调度策略。
X个调度策略分类为Y个调度策略子集,每个调度策略子集包括至少一个调度策略,X和Y均为自然数。算子运算调度***将上述参数中难以直接建模的因素,例如,算子类型、数据格式、处理器架构等,用以创建X个调度策略,再把这X个调度策略分类为Y个调度策略子集,在每个调度策略子集中设定关联算子参数和处理器参数的通用过滤条件,可以实现硬件参数和软件参数的隔离,这样就可以支持任意算子参数和处理器参数的调度策略输出,确保算子运算对处理器和算子类型的通用性。
步骤503、根据样本算子参数和样本处理器参数分别对Y个调度策略子集进行过滤处理,获取Z个可行调度策略。
Z个可行调度策略分别为Y个调度策略子集中的Z个可行调度子集的最优调度策略,Z为小于或等于Y的自然数。算子运算调度***根据算子参数和处理器参数确定约束条件,根据约束条件分别对Y个调度策略子集进行过滤处理得到Z个可行调度子集。由于根据约束条件可能从Y个调度策略子集中过滤掉一个或多个子集,或者Y个调度策略子集全部保留,因此Z为小于或等于Y的自然数。然后将Z个可行调度子集中的调度策略分别输入目标函数获取Z个可行调度策略,Z个可行调度策略分别为Z个可行调度子集中的最优调度策略。本申请中算子运算调度***先根据约束条件对Y个调度策略子集进行一次过滤处理,过滤掉不可行的调度策略子集和/或调度策略,降低了待搜索的调度策略的数目,然后将Z个可行调度子集中的调度策略分别输入目标函数进行进一步的过滤处理,使得输出的调度策略为可行调度策略子集中的最优的调度策略。由此以调度策略的数据复用率为指标,指导对可行调度策略子集的降维处理,数据复用率越高,重复的数据搬移就越少,性能也就越好,功耗也能越小。
步骤504、根据样本算子参数和Z个可行调度策略训练得到代价模型。
算子运算调度***将样本算子参数和Z个可行调度策略输入相应的处理器得到Z个算子运算代价,Z个算子运算代价与Z个可行调度策略一一对应,再以Z个算子运算代价为目标,根据样本算子参数和Z个可行调度策略训练得到代价模型。即通过将算子参数和Z个可行调度策略在实际的处理器上运行得到各个可行调度策略的算子运算代价,反过来再以Z个可行调度策略的算子运算代价为目标,训练出可以预测调度策略的运行代价的模型。本申请在代价模型的训练过程中结合真实处理器实测得到的算子运算代价训练代价模型,而在算子运算调度过程中直接根据代价模型输出可行调度策略的算子运算代价,节省了需要对算子运算对应的算子参数和处理器参数的可行调度策略的测试时间,实现最优调度策略的实时输出。
本申请,在离线状态下通过尽可能多的将处理器和算子参数中难以直接建模的因素用以创建多个调度策略,将这些调度策略分类为多个调度策略子集,然后对各个调度策略子集进行过滤处理得到每个调度策略子集中的最优调度策略,降低了待搜索的调度策略子集的数目,最后以实际处理器运行代价为目标经过训练得到的代价模型,提高了代价获取的准确性,并提高在线处理的效率。
在图1所示示意图的基础上,图6为本申请算子运算调度装置600实施例的结构示意图,如图6所示,算子运算调度装置600包括通用调度模块601、全局特征模块602、代价模型603和最优调度选择模块604,其中,通用调度模块601用于获取算子运算对应的算子参数和处理器参数;根据所述算子参数和所述处理器参数创建N个调度策略,所述N个调度策略分类为M个调度策略子集,每个所述调度策略子集包括至少一个所述调度策略,N和M均为自然数。全局特征模块602用于根据所述算子参数和所述处理器参数分别对所述M个调度策略子集进行过滤处理,获取K个可行调度策略,所述K个可行调度策略分别为所述M个调度策略子集中的K个可行调度子集的最优调度策略,K为小于或等于M的自然数。代价模型603用于将所述算子参数和所述K个可行调度策略输入代价模型得到K个算子运算代价,所述K个算子运算代价与所述K个可行调度策略一一对应。最优调度策略选择模块604用于根据目标需求和所述K个算子运算代价确定所述算子运算的最优调度策略。
在一种可能的实现方式中,所述全局特征模块602,具体用于根据所述算子参数和所述处理器参数确定约束条件,根据所述约束条件分别对所述M个调度策略子集进行过滤处理得到所述K个可行调度子集;将所述K个可行调度子集中的调度策略分别输入目标函数获取所述K个可行调度策略,所述K个可行调度策略分别为所述K个可行调度子集中的最优调度策略。
在一种可能的实现方式中,所述最优调度选择模块604,具体用于根据所述K个算子运算代价选取满足所述目标需求的可行调度策略为所述最优调度策略。
在一种可能的实现方式中,所述算子参数包括以下至少一种信息:算子类型或者算子大小;所述处理器参数包括以下至少一种信息:处理器架构、缓存层级、缓存容量和带宽、计算能力或者处理主频;所述调度策略包括以下至少一种信息:切分类型、循环顺序或者数据流。
在图1所示示意图的基础上,图7为本申请代价模型训练装置700实施例的结构示意图,如图7所示,代价模型训练装置700包括通用调度模块701、全局特征模块702和训练模块703,其中,通用调度模块701用于获取样本算子参数和样本处理器参数,所述样本算子参数为可获取的算子参数,所述样本处理器参数为可获取的处理器参数;根据所述样本算子参数和所述样本处理器参数创建X个调度策略,所述X个调度策略分类为Y个调度策略子集,每个所述调度策略子集包括至少一个所述调度策略,X和Y均为自然数。全局特征模块702用于根据所述样本算子参数和所述样本处理器参数分别对所述Y个调度策略子集进行过滤处理,获取Z个可行调度策略,所述Z个可行调度策略分别为所述Y个调度策略子集中的Z个可行调度子集的最优调度策略,Z为小于或等于Y的自然数。训练模块703用于根据所述样本算子参数和所述Z个可行调度策略训练得到所述代价模型。
在一种可能的实现方式中,所述训练模型703,具体用于将所述样本算子参数和所述Z个可行调度策略输入相应的处理器得到Z个算子运算代价,所述Z个算子运算代价与所述Z个可行调度策略一一对应;以所述Z个算子运算代价为目标,根据所述样本算子参数和所述Z个可行调度策略训练得到所述代价模型。
需要说明的是,图6通用调度模块601和全局特征模块602与图7中的通用调度模块701和全局特征模块702可以为相同的功能模块,图7中的训练模块703可以提供给图6中的代价模型603计算代价。
图8为本申请计算机设备实施例的结构示意图,如图8所示,该计算机设备包括处理器801、存储器802、输入装置803和输出装置804;计算机设备中处理器801的数量可以是一个或多个,图8中以一个处理器801为例;计算机设备中的处理器801、存储器802、输入装置803和输出装置804可以通过总线或其他方式连接,图8中以通过总线连接为例。
存储器802作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请图2或图5所示实施例中的方法对应的程序指令/模块。处理器801通过运行存储在存储器802中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的算子运算调度方法。
存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器802可进一步包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置803可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置804可包括显示屏等显示设备。
在一种可能的实现方式中,本申请提供一种计算机可读存储介质,该计算机可读存储介质存储有指令,当该指令在计算机上运行时,用于执行上述图2或图5所示实施例中的方法。
在一种可能的实现方式中,本申请提供一种计算机程序,当所述计算机程序被计算机执行时,用于执行上述图2或图5所示实施例中的方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (15)
1.一种算子运算调度方法,其特征在于,包括:
获取算子运算对应的算子参数和处理器参数;
根据所述算子参数和所述处理器参数创建N个调度策略,所述N个调度策略分类为M个调度策略子集,每个所述调度策略子集包括至少一个所述调度策略,N和M均为自然数;
根据所述算子参数和所述处理器参数分别对所述M个调度策略子集进行过滤处理,获取K个可行调度策略,所述K个可行调度策略分别为所述M个调度策略子集中的K个可行调度子集的最优调度策略,K为小于或等于M的自然数;
将所述算子参数和所述K个可行调度策略输入代价模型得到K个算子运算代价,所述K个算子运算代价与所述K个可行调度策略一一对应;
根据目标需求和所述K个算子运算代价确定用于所述算子运算的最优调度策略。
2.根据权利要求1所述的方法,其特征在于,所述根据所述算子参数和所述处理器参数分别对所述M个调度策略子集进行过滤处理,获取K个可行调度策略,包括:
根据所述算子参数和所述处理器参数确定约束条件,根据所述约束条件分别对所述M个调度策略子集进行过滤处理得到所述K个可行调度子集;
将所述K个可行调度子集中的调度策略分别输入目标函数获取所述K个可行调度策略,所述K个可行调度策略分别为所述K个可行调度子集中的最优调度策略。
3.根据权利要求1或2所述的方法,其特征在于,所述根据目标需求和所述K个算子运算代价确定所述算子运算的最优调度策略,包括:
根据所述K个算子运算代价选取满足所述目标需求的可行调度策略为所述最优调度策略。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述算子参数包括以下至少一种信息:算子类型或者算子大小;所述处理器参数包括以下至少一种信息:处理器架构、缓存层级、缓存容量和带宽、计算能力或者处理主频;所述调度策略包括以下至少一种信息:切分类型、循环顺序或者数据流。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述获取算子运算对应的算子参数和处理器参数之前,还包括:
获取样本算子参数和样本处理器参数,所述样本算子参数为可获取的算子参数,所述样本处理器参数为可获取的处理器参数;
根据所述样本算子参数和所述样本处理器参数创建X个调度策略,所述X个调度策略分类为Y个调度策略子集,每个所述调度策略子集包括至少一个所述调度策略,X和Y均为自然数;
根据所述样本算子参数和所述样本处理器参数分别对所述Y个调度策略子集进行过滤处理,获取Z个可行调度策略,所述Z个可行调度策略分别为所述Y个调度策略子集中的Z个可行调度子集的最优调度策略,Z为小于或等于Y的自然数;
根据所述样本算子参数和所述Z个可行调度策略训练得到所述代价模型。
6.根据权利要求5所述的方法,其特征在于,所述根据所述样本算子参数和所述Z个可行调度策略训练得到所述代价模型,包括:
将所述样本算子参数和所述Z个可行调度策略输入相应的处理器得到Z个算子运算代价,所述Z个算子运算代价与所述Z个可行调度策略一一对应;
以所述Z个算子运算代价为目标,根据所述样本算子参数和所述Z个可行调度策略训练得到所述代价模型。
7.一种算子运算调度装置,其特征在于,包括:
通用调度模块,用于获取算子运算对应的算子参数和处理器参数;根据所述算子参数和所述处理器参数创建N个调度策略,所述N个调度策略分类为M个调度策略子集,每个所述调度策略子集包括至少一个所述调度策略,N和M均为自然数;
全局特征模块,用于根据所述算子参数和所述处理器参数分别对所述M个调度策略子集进行过滤处理,获取K个可行调度策略,所述K个可行调度策略分别为所述M个调度策略子集中的K个可行调度子集的最优调度策略,K为小于或等于M的自然数;
代价模型,用于将所述算子参数和所述K个可行调度策略输入代价模型得到K个算子运算代价,所述K个算子运算代价与所述K个可行调度策略一一对应;
最优调度选择模块,用于根据目标需求和所述K个算子运算代价确定用于所述算子运算的最优调度策略。
8.根据权利要求7所述的装置,其特征在于,所述全局特征模块,具体用于根据所述算子参数和所述处理器参数确定约束条件,根据所述约束条件分别对所述M个调度策略子集进行过滤处理得到所述K个可行调度子集;将所述K个可行调度子集中的调度策略分别输入目标函数获取所述K个可行调度策略,所述K个可行调度策略分别为所述K个可行调度子集中的最优调度策略。
9.根据权利要求7或8所述的装置,其特征在于,所述最优调度选择模块,具体用于根据所述K个算子运算代价选取满足所述目标需求的可行调度策略为所述最优调度策略。
10.根据权利要求7-9中任一项所述的装置,其特征在于,所述算子参数包括以下至少一种信息:算子类型或者算子大小;所述处理器参数包括以下至少一种信息:处理器架构、缓存层级、缓存容量和带宽、计算能力或者处理主频;所述调度策略包括以下至少一种信息:切分类型、循环顺序或者数据流。
11.根据权利要求7-10中任一项所述的装置,其特征在于,还包括:训练模块;
所述通用调度模块,还用于获取样本算子参数和样本处理器参数,所述样本算子参数为可获取的算子参数,所述样本处理器参数为可获取的处理器参数;根据所述样本算子参数和所述样本处理器参数创建X个调度策略,所述X个调度策略分类为Y个调度策略子集,每个所述调度策略子集包括至少一个所述调度策略,X和Y均为自然数;
所述全局特征模块,还用于根据所述样本算子参数和所述样本处理器参数分别对所述Y个调度策略子集进行过滤处理,获取Z个可行调度策略,所述Z个可行调度策略分别为所述Y个调度策略子集中的Z个可行调度子集的最优调度策略,Z为小于或等于Y的自然数;
所述训练模型,用于根据所述样本算子参数和所述Z个可行调度策略训练得到所述代价模型。
12.根据权利要求11所述的装置,其特征在于,所述训练模型,具体用于将所述样本算子参数和所述Z个可行调度策略输入相应的处理器得到Z个算子运算代价,所述Z个算子运算代价与所述Z个可行调度策略一一对应;以所述Z个算子运算代价为目标,根据所述样本算子参数和所述Z个可行调度策略训练得到所述代价模型。
13.一种计算机设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令在计算机上运行时,用于执行权利要求1-6中任一项所述的方法。
15.一种计算机程序,其特征在于,当所述计算机程序被计算机执行时,用于执行权利要求1-6中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910282106.8A CN111796917B (zh) | 2019-04-09 | 2019-04-09 | 算子运算调度方法和装置 |
PCT/CN2020/083635 WO2020207393A1 (zh) | 2019-04-09 | 2020-04-08 | 算子运算调度方法和装置 |
US17/144,780 US11934866B2 (en) | 2019-04-09 | 2021-01-08 | Operator operation scheduling method and apparatus to determine an optimal scheduling policy for an operator operation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910282106.8A CN111796917B (zh) | 2019-04-09 | 2019-04-09 | 算子运算调度方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111796917A true CN111796917A (zh) | 2020-10-20 |
CN111796917B CN111796917B (zh) | 2024-06-25 |
Family
ID=72750916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910282106.8A Active CN111796917B (zh) | 2019-04-09 | 2019-04-09 | 算子运算调度方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11934866B2 (zh) |
CN (1) | CN111796917B (zh) |
WO (1) | WO2020207393A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112698897A (zh) * | 2020-12-29 | 2021-04-23 | 长威信息科技发展股份有限公司 | 一种可视化大数据算子编排的方法及*** |
CN113342631A (zh) * | 2021-07-02 | 2021-09-03 | 厦门美图之家科技有限公司 | 分发管理优化方法、装置和电子设备 |
WO2023083058A1 (zh) * | 2021-11-12 | 2023-05-19 | 中兴通讯股份有限公司 | 调度参数的调整方法、设备及存储介质 |
CN117785492A (zh) * | 2024-02-28 | 2024-03-29 | 上海燧原智能科技有限公司 | 一种算子的切分方式确定方法、装置、设备及介质 |
CN118093455A (zh) * | 2024-04-23 | 2024-05-28 | 北京壁仞科技开发有限公司 | 数据加载方法、数据加载装置、处理器和电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013080152A1 (en) * | 2011-12-01 | 2013-06-06 | International Business Machines Corporation | Dynamically configurable placement engine |
CN104683488A (zh) * | 2015-03-31 | 2015-06-03 | 百度在线网络技术(北京)有限公司 | 流式计算***及其调度方法和装置 |
CN106708838A (zh) * | 2015-11-12 | 2017-05-24 | 华为技术有限公司 | 用于流数据查询的方法和装置 |
CN107273193A (zh) * | 2017-04-28 | 2017-10-20 | 中国科学院信息工程研究所 | 一种基于dag的面向多计算框架的数据处理方法及*** |
CN108491274A (zh) * | 2018-04-02 | 2018-09-04 | 深圳市华傲数据技术有限公司 | 分布式数据管理的优化方法、装置、存储介质及设备 |
CN109189572A (zh) * | 2018-08-02 | 2019-01-11 | 中兴飞流信息科技有限公司 | 一种资源预估方法及***、电子设备和存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05250377A (ja) * | 1992-03-04 | 1993-09-28 | Fujitsu Ltd | スケジューリング方式 |
EP1630671A1 (en) * | 2004-08-24 | 2006-03-01 | International Business Machines Corporation | Framework for pluggable schedulers |
US8028293B2 (en) * | 2007-06-28 | 2011-09-27 | Microsoft Corporation | Optimal policies for load balancing for distributed and strategic agents (more technically, optimal coordination mechanisms for machine scheduling) |
US20150032722A1 (en) * | 2013-03-15 | 2015-01-29 | Teradata Corporation | Optimization of database queries for database systems and environments |
US10802876B2 (en) * | 2013-05-22 | 2020-10-13 | Massachusetts Institute Of Technology | Multiprocessor scheduling policy with deadline constraint for determining multi-agent schedule for a plurality of agents |
GB201515318D0 (en) * | 2015-08-20 | 2015-10-14 | Servicepower Business Solutions Ltd | Infeasible schedules in a quantum annealing optimisation process |
US20180260245A1 (en) * | 2017-03-10 | 2018-09-13 | Rigetti & Co, Inc. | Event Scheduling in a Hybrid Computing System |
US20210278825A1 (en) * | 2018-08-23 | 2021-09-09 | Siemens Aktiengesellschaft | Real-Time Production Scheduling with Deep Reinforcement Learning and Monte Carlo Tree Research |
US11042405B2 (en) * | 2019-01-10 | 2021-06-22 | Vmware, Inc. | Scheduling and executing functions across different functions-as-a-service (FAAS) infrastructures |
-
2019
- 2019-04-09 CN CN201910282106.8A patent/CN111796917B/zh active Active
-
2020
- 2020-04-08 WO PCT/CN2020/083635 patent/WO2020207393A1/zh active Application Filing
-
2021
- 2021-01-08 US US17/144,780 patent/US11934866B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013080152A1 (en) * | 2011-12-01 | 2013-06-06 | International Business Machines Corporation | Dynamically configurable placement engine |
CN104683488A (zh) * | 2015-03-31 | 2015-06-03 | 百度在线网络技术(北京)有限公司 | 流式计算***及其调度方法和装置 |
CN106708838A (zh) * | 2015-11-12 | 2017-05-24 | 华为技术有限公司 | 用于流数据查询的方法和装置 |
CN107273193A (zh) * | 2017-04-28 | 2017-10-20 | 中国科学院信息工程研究所 | 一种基于dag的面向多计算框架的数据处理方法及*** |
CN108491274A (zh) * | 2018-04-02 | 2018-09-04 | 深圳市华傲数据技术有限公司 | 分布式数据管理的优化方法、装置、存储介质及设备 |
CN109189572A (zh) * | 2018-08-02 | 2019-01-11 | 中兴飞流信息科技有限公司 | 一种资源预估方法及***、电子设备和存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112698897A (zh) * | 2020-12-29 | 2021-04-23 | 长威信息科技发展股份有限公司 | 一种可视化大数据算子编排的方法及*** |
CN113342631A (zh) * | 2021-07-02 | 2021-09-03 | 厦门美图之家科技有限公司 | 分发管理优化方法、装置和电子设备 |
CN113342631B (zh) * | 2021-07-02 | 2022-08-26 | 厦门美图之家科技有限公司 | 分发管理优化方法、装置和电子设备 |
WO2023083058A1 (zh) * | 2021-11-12 | 2023-05-19 | 中兴通讯股份有限公司 | 调度参数的调整方法、设备及存储介质 |
CN117785492A (zh) * | 2024-02-28 | 2024-03-29 | 上海燧原智能科技有限公司 | 一种算子的切分方式确定方法、装置、设备及介质 |
CN117785492B (zh) * | 2024-02-28 | 2024-05-17 | 上海燧原智能科技有限公司 | 一种算子的切分方式确定方法、装置、设备及介质 |
CN118093455A (zh) * | 2024-04-23 | 2024-05-28 | 北京壁仞科技开发有限公司 | 数据加载方法、数据加载装置、处理器和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20210132990A1 (en) | 2021-05-06 |
US11934866B2 (en) | 2024-03-19 |
WO2020207393A1 (zh) | 2020-10-15 |
CN111796917B (zh) | 2024-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111796917A (zh) | 算子运算调度方法和装置 | |
CN109145983A (zh) | 一种基于轻量化网络的实时场景图像语义分割方法 | |
CN109993299A (zh) | 数据训练方法及装置、存储介质、电子装置 | |
CN114549563A (zh) | 一种基于DeepLabV3+的复合绝缘子实时分割方法及*** | |
CN109271374A (zh) | 一种基于机器学习的数据库健康度打分方法和打分*** | |
CN103019855B (zh) | MapReduce作业执行时间预测方法 | |
Zhou et al. | Octr: Octree-based transformer for 3d object detection | |
CN109711528A (zh) | 基于特征图变化对卷积神经网络剪枝的方法 | |
US20220335293A1 (en) | Method of optimizing neural network model that is pre-trained, method of providing a graphical user interface related to optimizing neural network model, and neural network model processing system performing the same | |
CN111815432A (zh) | 金融服务风险预测方法及装置 | |
CN107832794A (zh) | 一种卷积神经网络生成方法、车系识别方法及计算设备 | |
CN113177698A (zh) | 一种工业大数据分析辅助决策平台*** | |
CN116485475A (zh) | 基于边缘计算的物联网广告***、方法及装置 | |
CN113298263A (zh) | 计算图处理、模型运行方法及装置、电子设备、服务器及边缘终端 | |
Bethge et al. | Learning to train a binary neural network | |
CN109685805A (zh) | 一种图像分割方法及装置 | |
CN104951442A (zh) | 一种确定结果向量的方法和装置 | |
Long et al. | Complexity-aware adaptive training and inference for edge-cloud distributed AI systems | |
CN117689731B (zh) | 一种基于改进YOLOv5模型的轻量化新能源重卡电池包识别方法 | |
CN114169506A (zh) | 一种基于工业物联网平台的深度学习边缘计算***框架 | |
CN112200310B (zh) | 智能处理器、数据处理方法及存储介质 | |
CN113780287A (zh) | 一种多深度学习模型的最优选取方法及*** | |
CN111950753A (zh) | 一种景区客流预测的方法及装置 | |
CN114401496A (zh) | 一种基于5g边缘计算的视频信息快速处理方法 | |
CN110955521A (zh) | 一种基于大数据的配电网广域分布式下沉计算***和方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |