CN117950645A - 一种基于硬件特征的算子调度方案自动搜索方法与系统 - Google Patents

一种基于硬件特征的算子调度方案自动搜索方法与系统 Download PDF

Info

Publication number
CN117950645A
CN117950645A CN202410339678.6A CN202410339678A CN117950645A CN 117950645 A CN117950645 A CN 117950645A CN 202410339678 A CN202410339678 A CN 202410339678A CN 117950645 A CN117950645 A CN 117950645A
Authority
CN
China
Prior art keywords
operator
hardware
level
schemes
scheme
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
Application number
CN202410339678.6A
Other languages
English (en)
Other versions
CN117950645B (zh
Inventor
陈晨
李勇
孙红江
杨贺淞
范文杰
胡陈枢
陈�光
曾令仿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202410339678.6A priority Critical patent/CN117950645B/zh
Publication of CN117950645A publication Critical patent/CN117950645A/zh
Application granted granted Critical
Publication of CN117950645B publication Critical patent/CN117950645B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/37Compiler construction; Parser generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明提供一种基于硬件特征的算子调度方案自动搜索方法与系统。该方法是通过获取算子输入数据的维度信息、目标硬件的硬件特征以及包含各存储层级的容量和硬件指令支持情况;再根据目标硬件的存储层级从高到低,递归地在每一个层级上,基于贪心策略搜索该层级可接受的最佳可行的数据搬运方案;其中各层级的数据搬运方案共同构成算子的调度方案;最后进行性能评估。基于搜索到的若干个算子调度方案,通过CodeGen技术生成目标硬件上的若干个算子实现,进而在硬件上测试选出性能最优的算子调度方案。因此,本发明的技术方案能够节省算力的情况下保证算子调度的优化。

Description

一种基于硬件特征的算子调度方案自动搜索方法与系统
技术领域
本发明属于AI编译器领域,尤其涉及一种基于硬件特征的算子调度方案自动搜索方法与系统。
背景技术
在当下典型的计算机架构中,内部存储的层级一般包含:主存(main memory)、多级缓存(caches)、寄存器(register),它们的数据传输速度依次增大,但容量递减。神经网络的计算任务中涉及到大量的矩阵运算,要进行运算的矩阵首先会被分配到计算机的主存当中,通常先搬到多级缓存中,再从多级缓存中搬到寄存器上,然后由算术逻辑单元(ALU)对存储在寄存器中的数据进行处理来完成进行计算,最后搬回主存,这些相关硬件操作的封装被称之为AI算子。已知数据在存储介质间的 IO(Input/Output)极大地影响着AI算子最终呈现出来的计算性能。
因此,如何调度资源,充分发挥各级存储的潜力,从而降低数据IO耗时、提升算子性能是芯片软硬件协同优化中的一个关键问题,国内外知名的芯片公司如NVIDIA、Intel等均投入了巨大的人力到其芯片上的高性能算子开发中。
传统方法中,开发人员往往基于其对特定硬件架构的了解及算子调优的经验手工设计特定硬件上的算子调度方案然后编写算子实现,耗时耗力。近年来,TVM作为一款开源的、端到端的深度学习模型编译框架横空出世,因可根据自定义的调度配置自动生成CPU、GPU、ARM等任意目标硬件上的算子实现备受关注。TVM的计算-调度分离的设计方式,给二次开发人员提供了非常大的便利,无需逐行编写底层代码,通过指定算子调度方案,进而自动生成在指定硬件上的算子实现代码。这种方式大大方便了二次开发人员自定义性能更佳的调度配置,提高了算子调度空间调优的效率,但目前仍缺乏高效的参数空间自动搜索方法。
因此,关于高效的算子调度空间搜索,还是存在技术上的问题需要解决。
发明内容
为克服现有技术存在的不足,本发明基于算子调度方案搜索问题特性,结合算子开发人员手工编写算子时的经验总结,设计了该问题适用的考虑硬件特征的算子调度方案自动搜索方法,加快算子调度参数空间搜索、减少在硬件上测试评估的次数,从而提高算子编译效率。
为了实现上述任务,本发明采用以下技术方案:
本发明的第一个方面:一种基于硬件特征的算子调度方案自动搜索方法,包含以下步骤:
(1)读取算子输入数据的维度信息;
(2)读取目标硬件的硬件特征,包含各存储层级的容量和硬件指令支持信息;
(3)根据目标硬件的存储层级从高到低,递归地在每一个层级上,基于贪心策略搜索各层级可行的数据搬运方案;各层级可行的数据搬运方案共同构成一个完整的算子调度方案;
(4)基于搜索出的若干个算子调度方案,在深度学习编译器中指定算子调度方案进而通过内嵌的CodeGen模块自动生成目标硬件上的若干个算子实现,在硬件上测试选出性能最优的算子调度方案。
进一步地,所述步骤(1)中输入数据的维度信息为张量的维度信息,即矩阵的形状,当输入若干个张量则需获取若干个张量的维度信息。
进一步地,所述步骤(3)中可行的数据搬运方案,需要同时满足三个条件:
条件a:与更高层级的数据切分方案对齐,即该层级的单次接收的数据完整地被切分为多份,进而搬运到更高层级进行处理;
条件b:与算子输入数据的维度对齐,使算子输入数据被切分为多份,进而搬运到该层处理;
条件c:该层级单次接收的数据量小于该层级的内存容量。
进一步地,所述步骤(3)最高级别的存储层级为寄存器,其数据搬运方案由支持的硬件指令决定;主存作为最低级别的存储层级,其容量是足够大以存放算子全部的输入数据;因此仅需要在多级缓存上按照贪心策略搜索其最佳可行的数据搬运方案。
具体地,所述最佳可行的数据搬运方案是指能够单次能够接收最多的数据量,即最高存容量利用率的方案。
进一步地,所述步骤(3)中基于贪心策略搜索各层级可行的数据搬运方案,且每一层基于贪心策略搜索到的可行方案并不唯一;若可行方案不唯一时,所有搜索到的最佳可行方案都应保留;在下一级别,应分别基于上一级别所有最佳可行方案,递归搜索该层级的最佳可行方案。
进一步地,所述步骤(4)中在深度学习编译器中指定算子调度方案进而通过内嵌的CodeGen模块自动生成目标硬件上的若干个算子实现,具体为,利用张量虚拟机TVM 提供指定算子调度方案,且自动生成基于该调度方案的算子实现代码,根据一套代码模板,改变其中的调度参数配置,得到基于不同数据搬运方案的算子实现代码。
本发明第二个方面:一种基于硬件特征的算子调度方案自动搜索系统,包括以下模块:
输入数据特征提取模块:读取算子输入数据的维度信息;
硬件特征信息提取模块:读取目标硬件的硬件特征,包含各存储层级的容量和硬件指令支持信息;
调度方案搜索模块:根据目标硬件的存储层级从高到低,递归地在每一个层级上,基于贪心策略搜索各层级可行的数据搬运方案;各层级的数据搬运方案共同构成算子的调度方案;
性能评估模块:基于搜索出的若干个算子调度方案,在深度学习编译器中指定算子调度方案进而通过内嵌的CodeGen模块自动生成目标硬件上的若干个算子实现,在硬件上测试选出性能最优的算子调度方案。
本发明的第三个方面,提供了一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如所述的一种基于硬件特征的算子调度方案自动搜索方法。
本发明的第四个方面,提供了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如一种基于硬件特征的算子调度方案自动搜索方法的步骤。
本发明的有益效果如下:
本发明通过利用硬件特征信息指导搜索加快算子调度参数空间搜索,减少在硬件上测试评估的次数,从而能够快速搜索到高效的算子调度方案。
附图说明
图1是本发明的技术方案的流程图;
图2是本发明的一个数据流示意图;
图3是本发明的一个矩阵乘算子调度方案示意图;
图4是本发明的系统流程图;
图5是本发明的电子设备图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了更清楚明白地阐述本发明的技术方案及优点,以实施例并结合附图说明,对本发明进行进一步的详细说明。注意,此处所描述的具体实施例仅用以解释本发明,而非用于限定本发明。
为了更清晰的描述算子参数空间搜索问题,如下实施例所示。
假设当前有一个矩阵乘算子,其左矩阵的形状为,右矩阵的形状为/>,则该矩阵乘运算的维度简写为/>;其中M、K、N均为正整数,表示矩阵乘算子的输入张量的形状信息,后文均以该简写描述矩阵乘的输入张量的形状信息。
首先给出其在某AI专用加速器上运算性能尽可能高的算子调度方案,假设该AI专用加速器的存储架构包含三级缓存和寄存器,三级缓存从低到高分别是L3 cache、L2cache、L1 cache。
如图1和图2所示,具体实施步骤如下:
步骤1:获取矩阵乘算子输入张量的维度信息M、K、N;
步骤2:获取该AI专用加速器的硬件特征,包含各存储层级的容量和硬件指令支持情况;
具体地,假设其三级缓存L3 cache、L2 cache、L1 cache的容量分别为;假设其硬件指令支持且仅支持/>的矩阵乘运算;
步骤3:根据目标硬件的存储层级从高到低,递归地在每一个层级上,基于贪心策略搜索该层级的最佳可行的数据搬运方案,即最高存容量利用率的方案。
具体地,可行性定义为需同时满足三个条件;条件a:与更高层级的数据切分方案对齐,即该层级的单次接收的数据可以完整地被切分为多份,进而搬运到更高层级进行处理,完整切分的好处是可以避免大量的边界检查开销;条件b:与算子的输入数据的维度对齐,保证算子的输入数据可以完整地被切分为多份,进而搬运到该层处理。条件c:该层级单次接收的数据量必须小于该层级的内存容量。
具体地,由于硬件指令支持且仅支持 的矩阵乘运算,即单次搬运到寄存器register进行计算的数据应为/>;/>为左矩阵的长,然后/>是左矩阵的宽或右矩阵的长,/>是右矩阵的宽;则L1 cache层的输入数据维度信息/>应分别为/>的倍数,使得L1 cache层的数据完整地划分成多个/>的数据块,进而搬运到寄存器进行计算;并且L1 cache层的输入数据应当能被算子输入维度信息整除,这样可以避免大量的边界检查开销;同时为了减少搬运次数、提高数据吞吐量,应充分利用内存容量。
进一步地,假设L1 cache接受的数据维度信息为;则其应当满足以下等式:
其中,%操作表示求余数。
值得注意的是,在L1 cache层基于贪心策略搜索到的最大可行的输入数据形状并不唯一。若不唯一,所有搜索到的最大可行方案都应保留。如图3所示,例如,可能在L1cache层存在一组调度方案和一组调度方案;均满足条件a和条件b,且存储容量的使用都是最大可行的。
同理,基于L1 cache接受的数据维度信息,贪心搜索L2 cache层级可接受的最大可行的输入数据形状/>;基于L2 cache接受的数据维度信息,贪心搜索L3 cache层级可接受的最大可行的输入数据维度信息
进一步地,若L1 cache层搜索到了多个最大可行方案,如上述示例,搜索到了两个方案,则在L2 cache层,应先根据L1 cache层的方案一:搜索L2cache层最大可行的方案,再根据L1 cache层的方案二:/>搜索L2cache层最大可行的方案。最后将分别基于两个方案搜索到的最大可行的方案都保留,进而递归搜索L3 cache层的方案。
步骤4:性能评估:基于贪心策略递归搜索选出若干个算子调度方案,通过CodeGen(代码自动生成)技术生成目标硬件上的若干个算子实现,进而在硬件上测试选出性能最优的算子调度方案。
本发明第二个方面:如图4所示,一种基于硬件特征的算子调度方案自动搜索系统,包括以下模块:
输入数据特征提取模块:读取算子输入数据的维度信息;
硬件特征信息提取模块:读取目标硬件的硬件特征,包含各存储层级的容量和硬件指令支持信息;
调度方案搜索模块:根据目标硬件的存储层级从高到低,递归地在每一个层级上,基于贪心策略搜索各层级可行的数据搬运方案;各层级的数据搬运方案共同构成算子的调度方案;
性能评估模块:基于搜索出的若干个算子调度方案,在深度学习编译器中指定算子调度方案进而通过内嵌的CodeGen模块自动生成目标硬件上的若干个算子实现,在硬件上测试选出性能最优的算子调度方案。
关于上述实施例中的系统,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
对于系统实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,本申请的第三个方面:还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的基于硬件特征的算子调度方案自动搜索方法。如图5所示,为本发明实施例提供的一种基于硬件特征的算子调度方案自动搜索系统所在任意具备数据处理能力的设备的一种硬件结构图,除了图5所示的处理器、内存以及网络接口之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
相应的,本申请的第四个方面:还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述的基于硬件特征的算子调度方案自动搜索方法步骤。所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。

Claims (10)

1.一种基于硬件特征的算子调度方案自动搜索方法,其特征在于,包含以下步骤:
(1)读取算子输入数据的维度信息;
(2)读取目标硬件的硬件特征,包含各存储层级的容量和硬件指令支持信息;
(3)根据目标硬件的存储层级从高到低,递归地在每一个层级上,基于贪心策略搜索各层级可行的数据搬运方案;各层级可行的数据搬运方案共同构成一个完整的算子调度方案;
(4)基于搜索出的若干个算子调度方案,在深度学习编译器中指定算子调度方案进而通过内嵌的CodeGen模块自动生成目标硬件上的若干个算子实现,在硬件上测试选出性能最优的算子调度方案。
2.根据权利要求1所述的一种基于硬件特征的算子调度方案自动搜索方法,其特征在于,所述步骤(1)中输入数据的维度信息为矩阵的维度信息,即矩阵的张量,当输入若干个张量则需获取若干个张量的维度信息。
3.根据权利要求1所述的一种基于硬件特征的算子调度方案自动搜索方法,其特征在于,所述步骤(3)中可行的数据搬运方案,需要同时满足三个条件:
条件a:与更高层级的数据切分方案对齐,即该层级的单次接收的数据完整地被切分为多份,进而搬运到更高层级进行处理;
条件b:与算子输入数据的维度对齐,使算子输入数据被切分为多份,进而搬运到该层处理;
条件c:该层级单次接收的数据量小于该层级的内存容量。
4.根据权利要求1所述的一种基于硬件特征的算子调度方案自动搜索方法,其特征在于,所述步骤(3)最高级别的存储层级为寄存器,其数据搬运方案由支持的硬件指令决定;主存作为最低级别的存储层级,其容量是足够大以存放算子全部的输入数据;因此仅需要在多级缓存上按照贪心策略搜索其最佳可行的数据搬运方案。
5.根据权利要求4所述的一种基于硬件特征的算子调度方案自动搜索方法,其特征在于,所述最佳可行的数据搬运方案是指能够单次能够接收最多的数据量,即最高存容量利用率的方案。
6.根据权利要求1所述的一种基于硬件特征的算子调度方案自动搜索方法,其特征在于,所述步骤(3)中基于贪心策略搜索各层级可行的数据搬运方案,且每一层基于贪心策略搜索到的可行方案并不唯一;若可行方案不唯一时,所有搜索到的最佳可行方案都应保留;在下一级别,应分别基于上一级别所有最佳可行方案,递归搜索该层级的最佳可行方案。
7.根据权利要求1所述的一种基于硬件特征的算子调度方案自动搜索方法,其特征在于,所述步骤(4)中在深度学习编译器中指定算子调度方案进而通过内嵌的CodeGen模块自动生成目标硬件上的若干个算子实现,具体为,利用张量虚拟机TVM 提供指定算子调度方案,且自动生成基于该调度方案的算子实现代码,根据一套代码模板,改变其中的调度参数配置,得到基于不同数据搬运方案的算子实现代码。
8.一种基于硬件特征的算子调度方案自动搜索系统,其特征在于,包括以下模块:
输入数据特征提取模块:读取算子输入数据的维度信息;
硬件特征信息提取模块:读取目标硬件的硬件特征,包含各存储层级的容量和硬件指令支持信息;
调度方案搜索模块:根据目标硬件的存储层级从高到低,递归地在每一个层级上,基于贪心策略搜索各层级可行的数据搬运方案;各层级的数据搬运方案共同构成算子的调度方案;
性能评估模块:基于搜索出的若干个算子调度方案,在深度学习编译器中指定算子调度方案进而通过内嵌的CodeGen模块自动生成目标硬件上的若干个算子实现,在硬件上测试选出性能最优的算子调度方案。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1-7中任一项所述方法的步骤。
CN202410339678.6A 2024-03-25 2024-03-25 一种基于硬件特征的算子调度方案自动搜索方法与系统 Active CN117950645B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410339678.6A CN117950645B (zh) 2024-03-25 2024-03-25 一种基于硬件特征的算子调度方案自动搜索方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410339678.6A CN117950645B (zh) 2024-03-25 2024-03-25 一种基于硬件特征的算子调度方案自动搜索方法与系统

Publications (2)

Publication Number Publication Date
CN117950645A true CN117950645A (zh) 2024-04-30
CN117950645B CN117950645B (zh) 2024-08-02

Family

ID=90798003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410339678.6A Active CN117950645B (zh) 2024-03-25 2024-03-25 一种基于硬件特征的算子调度方案自动搜索方法与系统

Country Status (1)

Country Link
CN (1) CN117950645B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102271033A (zh) * 2010-06-04 2011-12-07 中兴通讯股份有限公司 实现混合自动重传请求内存动态调度的方法及装置
CN103019655A (zh) * 2012-11-28 2013-04-03 中国人民解放军国防科学技术大学 面向多核微处理器的内存拷贝加速方法及装置
KR20140128153A (ko) * 2013-04-26 2014-11-05 (주) 시스메이트 플러그인 다중 패턴매칭 장치 및 그 방법
CN110766135A (zh) * 2019-10-15 2020-02-07 北京芯启科技有限公司 一种对任意深度神经网络优化其运行功能时所需存储的方法
CN113312175A (zh) * 2021-04-27 2021-08-27 北京迈格威科技有限公司 一种算子确定、运行方法及装置
CN115344358A (zh) * 2021-05-12 2022-11-15 华为技术有限公司 资源调度方法、装置和管理节点
CN115357356A (zh) * 2022-08-10 2022-11-18 西安邮电大学 基于计算图优化的算子间并行调度方法、设备和介质
CN115617351A (zh) * 2022-11-29 2023-01-17 上海燧原科技有限公司 算子的切分图样搜索方法、装置、计算机设备及存储介质
CN116301904A (zh) * 2023-05-18 2023-06-23 之江实验室 一种用于深度学习编译器的算子优化加速方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102271033A (zh) * 2010-06-04 2011-12-07 中兴通讯股份有限公司 实现混合自动重传请求内存动态调度的方法及装置
CN103019655A (zh) * 2012-11-28 2013-04-03 中国人民解放军国防科学技术大学 面向多核微处理器的内存拷贝加速方法及装置
KR20140128153A (ko) * 2013-04-26 2014-11-05 (주) 시스메이트 플러그인 다중 패턴매칭 장치 및 그 방법
CN110766135A (zh) * 2019-10-15 2020-02-07 北京芯启科技有限公司 一种对任意深度神经网络优化其运行功能时所需存储的方法
CN113312175A (zh) * 2021-04-27 2021-08-27 北京迈格威科技有限公司 一种算子确定、运行方法及装置
CN115344358A (zh) * 2021-05-12 2022-11-15 华为技术有限公司 资源调度方法、装置和管理节点
CN115357356A (zh) * 2022-08-10 2022-11-18 西安邮电大学 基于计算图优化的算子间并行调度方法、设备和介质
CN115617351A (zh) * 2022-11-29 2023-01-17 上海燧原科技有限公司 算子的切分图样搜索方法、装置、计算机设备及存储介质
CN116301904A (zh) * 2023-05-18 2023-06-23 之江实验室 一种用于深度学习编译器的算子优化加速方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PAPAKONSTANTINOU, PA ET AL: "Hierarchies for classes of priority algorithms for job scheduling", 《 JOURNAL INFORMATION THEORETICAL COMPUTER SCIENCE》, vol. 352, no. 1, 7 March 2006 (2006-03-07), pages 181 - 189, XP025025296, DOI: 10.1016/j.tcs.2005.10.045 *
唐麒: "多处理器片上系统实时流应用并行调度与性能分析", 《中国优秀硕士学位论文全文数据库(电子期刊)》, vol. 2019, no. 02, 15 February 2019 (2019-02-15) *

Also Published As

Publication number Publication date
CN117950645B (zh) 2024-08-02

Similar Documents

Publication Publication Date Title
Mittal et al. A survey of techniques for optimizing deep learning on GPUs
Zeng et al. GraphACT: Accelerating GCN training on CPU-FPGA heterogeneous platforms
CN110704360B (zh) 一种基于异构fpga数据流的图计算优化方法
Zheng et al. AStitch: enabling a new multi-dimensional optimization space for memory-intensive ML training and inference on modern SIMT architectures
US8364739B2 (en) Sparse matrix-vector multiplication on graphics processor units
KR100676011B1 (ko) 인스트럭션 처리 방법 및 장치와 기계 판독가능한 매체
CN103562870B (zh) 异构核心的自动加载平衡
Catanzaro et al. A map reduce framework for programming graphics processors
US11989561B2 (en) Method and apparatus for scheduling out-of-order execution queue in out-of-order processor
CN113139648B (zh) 执行神经网络模型的pim架构的数据布局优化
CN111090464B (zh) 一种数据流处理方法及相关设备
CN106383695A (zh) 基于fpga的聚类算法的加速系统及其设计方法
CN105468439B (zh) 在cpu-gpu异构框架下遍历固定半径内邻居的自适应并行方法
CN105408859A (zh) 用于指令调度的方法和系统
CN103329132A (zh) 架构优化器
US20230076473A1 (en) Memory processing unit architecture mapping techniques
Manca et al. CUDA‐quicksort: an improved GPU‐based implementation of quicksort
CN115860061A (zh) 图神经网络优化方法和图神经网络推理系统
CN115860066A (zh) 一种基于批处理的神经网络推理流水线复用的方法
CN117950645B (zh) 一种基于硬件特征的算子调度方案自动搜索方法与系统
US7698693B2 (en) System and method for run-time value tracking during execution
CN112486904B (zh) 可重构处理单元阵列的寄存器堆设计方法及装置
US10936320B1 (en) Efficient performance of inner loops on a multi-lane processor
Dawson Generic techniques in general purpose gpu programming with applications To Ant Colony and Image Processing Algorithms
CN111831333A (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