CN115203126B - 一种算子融合处理方法、装置、设备及存储介质 - Google Patents

一种算子融合处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115203126B
CN115203126B CN202211118517.1A CN202211118517A CN115203126B CN 115203126 B CN115203126 B CN 115203126B CN 202211118517 A CN202211118517 A CN 202211118517A CN 115203126 B CN115203126 B CN 115203126B
Authority
CN
China
Prior art keywords
target
operator
output result
matrix multiplication
calculation
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.)
Active
Application number
CN202211118517.1A
Other languages
English (en)
Other versions
CN115203126A (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.)
Taichu Wuxi Electronic Technology Co ltd
Original Assignee
Taichu Wuxi Electronic Technology Co ltd
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 Taichu Wuxi Electronic Technology Co ltd filed Critical Taichu Wuxi Electronic Technology Co ltd
Priority to CN202211118517.1A priority Critical patent/CN115203126B/zh
Publication of CN115203126A publication Critical patent/CN115203126A/zh
Application granted granted Critical
Publication of CN115203126B publication Critical patent/CN115203126B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • 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
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种算子融合处理方法、装置、设备及存储介质,应用于异构众核加速处理器中,包括:接收目标网络的运算请求,确定多个目标算子,通过主核调用各目标算子的正向融合接口;通过多个从核采用匹配的加速部件对各目标算子进行前向计算,得到目标算子的第一输出结果;根据目标算子在网络中的组成结构,在第一输出结果中确定目标输出结果写回至内存中;通过主核调用各目标算子的反向融合接口,通过多个从核采用匹配的加速部件对各目标算子进行反向计算,得到目标算子的第二输出结果。本发明实施例的技术方案可以降低对访存带宽的占用率,提高对目标网络中算子的处理效率以及处理器中硬件资源的利用率。

Description

一种算子融合处理方法、装置、设备及存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种算子融合处理方法、装置、设备及存储介质。
背景技术
随着计算机技术的发展,深度学习已成为人工智能领域的重要技术手段,为了提高深度学习网络的计算效率,需要将网络算法与具体的硬件结构相结合,以求达到最优的计算效果。
目前,对深度学习网络的计算过程通常由人工智能(Artificial Intelligence,AI)加速处理器执行,AI加速处理器多采用异构众核设计,它可以在获得高效计算性能的同时,又在一定程度上减小功耗。
但是,现有的AI加速处理器在对深度学习网络进行计算时,存在以下缺陷:如果网络中存在多个算子的调用过程,AI加速处理器通常会将算子之间的中间处理结果写回内存,由此占用有限的访存带宽,影响整体的计算效率;其次,现有的算子处理过程通常包括非矩阵乘运算和矩阵乘运算,从核中的矩阵乘加速部件和非矩阵乘加速部件是各自独立的,由此导致从核对算子进行处理时只能使用其中一种加速部件,另一种加速部件处于闲置状态,硬件资源没有得到充分利用。
发明内容
本发明提供了一种算子融合处理方法、装置、设备及存储介质,可以降低对访存带宽的占用率,提高对目标网络中算子的处理效率,以及处理器中硬件资源的利用率。
根据本发明的一方面,提供了一种算子融合处理方法,应用于异构众核加速处理器中,所述算子融合处理方法包括:
接收到目标网络的运算请求后,确定目标网络中包括的多个目标算子,并通过主核调用各目标算子的正向融合接口;
通过多个从核,采用与各目标算子匹配的加速部件,对各目标算子进行前向计算,得到各目标算子对应的第一输出结果;
根据各所述目标算子在目标网络中的组成结构,在各第一输出结果中确定目标输出结果,并将所述目标输出结果写回至内存中;
通过主核调用各目标算子的反向融合接口,并通过多个从核采用与各目标算子匹配的加速部件,根据目标输出结果对各目标算子进行反向计算,得到各目标算子对应的第二输出结果。
根据本发明的另一方面,提供了一种算子融合处理装置,应用于异构众核加速处理器中,所述装置包括:
正向接口调用模块,用于接收到目标网络的运算请求后,确定目标网络中包括的多个目标算子,并通过主核调用各目标算子的正向融合接口;
前向计算模块,用于通过多个从核,采用与各目标算子匹配的加速部件,对各目标算子进行前向计算,得到各目标算子对应的第一输出结果;
结果写入模块,用于根据各所述目标算子在目标网络中的组成结构,在各第一输出结果中确定目标输出结果,并将所述目标输出结果写回至内存中;
反向计算模块,用于通过主核调用各目标算子的反向融合接口,并通过多个从核采用与各目标算子匹配的加速部件,根据目标输出结果对各目标算子进行反向计算,得到各目标算子对应的第二输出结果。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
一个或多个异构众核加速处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被一个或多个异构众核加速处理器执行,使得所述一个或多个处理器执行所述程序时实现本发明任一实施例所述的算子融合处理方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明任一实施例所述的算子融合处理方法。
本发明实施例提供的技术方案,通过接收到目标网络的运算请求后,确定目标网络中包括的多个目标算子,并通过主核调用各目标算子的正向融合接口,通过多个从核,采用与各目标算子匹配的加速部件,对各目标算子进行前向计算,得到各目标算子对应的第一输出结果,根据各目标算子在目标网络中的组成结构,在各第一输出结果中确定目标输出结果,并将目标输出结果写回至内存中,通过主核调用各目标算子的反向融合接口,并通过多个从核采用与各目标算子匹配的加速部件,根据目标输出结果对各目标算子进行反向计算,得到各目标算子对应的第二输出结果的技术手段,可以降低对访存带宽的占用率,提高对目标网络中算子的处理效率,以及处理器中硬件资源的利用率。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种算子融合处理方法的流程图。
图2是根据本发明实施例二提供的另一种算子融合处理方法的流程图。
图3是根据本发明实施例三提供的另一种算子融合处理方法的流程图。
图4是根据本发明实施例提供的一种算子融合处理装置的结构示意图。
图5是实现本发明实施例的算子融合处理方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1为本发明实施例一提供的一种算子融合处理方法的流程图,本实施例可适用于对深度学习网络中的算子进行融合处理的情况,该方法可以由算子融合处理装置来执行,该算子融合处理装置可以采用硬件和/或软件的形式实现,该算子融合处理装置可配置于异构众核加速处理器中。如图1所示,该方法包括:
步骤110、接收到目标网络的运算请求后,确定目标网络中包括的多个目标算子,并通过主核调用各目标算子的正向融合接口。
在本实施例中,所述目标网络可以为深度学习中的神经网络,处理器接收到针对目标网络的运算请求后,可以根据所述运算请求确定多个目标算子,并通过处理器中的主核调用各目标算子的正向融合接口。
在一个具体的实施例中,所述异构众核加速处理器中可以包括主核和多个从核,主核和多个从核可以共享处理器中的内存。每个从核具备独立的高速缓存空间,以及专门处理矩阵乘或其他运算的加速部件。
步骤120、通过多个从核,采用与各目标算子匹配的加速部件,对各目标算子进行前向计算,得到各目标算子对应的第一输出结果。
在本实施例中,通过主核调用各目标算子的正向融合接口后,可以对多个从核进行启动,各个从核可以采用与目标算子运算类型相匹配的加速部件,对各目标算子进行前向计算,得到各目标算子对应的第一输出结果。
步骤130、根据各所述目标算子在目标网络中的组成结构,在各第一输出结果中确定目标输出结果,并将所述目标输出结果写回至内存中。
在本实施例中,可选的,在得到各目标算子对应的第一输出结果之后,可以根据各目标算子在目标网络中的组成结构,在多个第一输出结果中筛选中间处理结果,并将除中间处理结果之外的其他输出结果作为目标输出结果,最后将目标输出结果写回至内存中。
这样设置的好处在于,可以避免将中间处理结果频繁写入内存,由此降低对访存带宽的占用率,以及内存瓶颈对算子处理的影响,进而提高对目标网络中算子的处理效率。
在本实施例中,将所述目标输出结果写回至内存中之后,可以对多个从核进行关闭,以结束目标算子的前向计算过程。
步骤140、通过主核调用各目标算子的反向融合接口,并通过多个从核采用与各目标算子匹配的加速部件,根据目标输出结果对各目标算子进行反向计算,得到各目标算子对应的第二输出结果。
在本实施例中,在完成对目标算子的前向计算过程之后,可以通过主核调用各目标算子的反向融合接口,并对多个从核进行启动,然后通过多个从核采用与目标算子运算类型相匹配的加速部件,对各目标算子进行反向计算,得到各目标算子对应的第二输出结果。
这样设置的好处在于,通过多个从核对多个目标算子进行融合处理,可以减少从核的启动开销;其次,通过多个从核,采用与各目标算子匹配的加速部件,对各目标算子进行前向计算或反向计算,可以对从核中的加速部件充分利用,避免其中某种加速部件处于闲置状态,由此可以提高处理器中硬件资源的利用率。
本发明实施例提供的技术方案,通过接收到目标网络的运算请求后,确定目标网络中包括的多个目标算子,并通过主核调用各目标算子的正向融合接口,通过多个从核,采用与各目标算子匹配的加速部件,对各目标算子进行前向计算,得到各目标算子对应的第一输出结果,根据各目标算子在目标网络中的组成结构,在各第一输出结果中确定目标输出结果,并将目标输出结果写回至内存中,通过主核调用各目标算子的反向融合接口,并通过多个从核采用与各目标算子匹配的加速部件,根据目标输出结果对各目标算子进行反向计算,得到各目标算子对应的第二输出结果的技术手段,可以降低对访存带宽的占用率,提高对目标网络中算子的处理效率,以及处理器中硬件资源的利用率。
图2为本发明实施例二提供的一种算子融合处理方法的流程图,本实施例是对上述实施例的进一步细化。如图2所示,该方法包括:
步骤210、接收到目标网络的运算请求后,确定目标网络中包括的多个目标算子,并通过主核调用各目标算子的正向融合接口。
在一个具体的实施例中,假设目标网络中包括算子A、算子B和算子C,则可以通过主核调用算子A、算子B和算子C的正向融合接口,并启动多个从核。
步骤220、通过多个从核,从内存中获取各所述目标算子对应的第一输入数据,并将各所述目标算子对应的第一输入数据存储至对应的高速缓存中。
在此步骤中,具体的,以算子A、算子B和算子C为例,可以通过从核向内存发起数据载入,并获取算子A、算子B和算子C的前向输入数据(也即第一输入数据)到对应的高速缓存中。
步骤230、通过多个从核,从对应的高速缓存中获取各目标算子对应的第一输入数据,并根据所述第一输入数据,采用与各目标算子匹配的加速部件,对各目标算子进行前向计算,得到各目标算子对应的第一输出结果。
在本发明实施例的一个实施方式中,根据所述第一输入数据,采用与各目标算子匹配的加速部件,对各目标算子进行前向计算,得到各目标算子对应的第一输出结果,包括:
如果所述目标算子的运算类型为非矩阵乘运算,则通过多个从核采用非矩阵乘加速部件,根据所述第一输入数据对目标算子进行前向计算,得到目标算子对应的第一输出结果;
如果所述目标算子的运算类型为矩阵乘运算,则通过多个从核采用矩阵乘加速部件,根据所述第一输入数据对目标算子进行前向计算,得到目标算子对应的第一输出结果。
在一个具体的实施例中,以算子A、算子B和算子C为例,假设算子A和算子C的运算类型为非矩阵乘运算,算子B的运算类型为矩阵乘运算,则可以通过多个从核,使用矩阵乘加速部件完成对算子B的前向计算,并使用非矩阵乘加速部件完成算子A和算子C的前向计算。
这样设置的好处在于,相比于现有技术中多个从核同时只处理单一算子的方式而言,可以避免从核中的某加速部件处于闲置状态,通过将多个算子进行融合处理,可以使从核充分发挥多个加速部件的作用,由此提高处理器中硬件资源的利用率。
步骤240、根据各所述目标算子在目标网络中的组成结构,在各第一输出结果中确定目标输出结果,并将所述目标输出结果写回至内存中。
步骤250、通过主核调用各目标算子的反向融合接口。
步骤260、通过多个从核,从内存中获取目标输出结果,以及各目标算子对应的第二输入数据,并将目标输出结果以及第二输入数据存储至对应的高速缓存中。
在此步骤中,具体的,以算子A、算子B和算子C为例,可以通过从核向内存发起数据载入,并获取算子A、算子B和算子C的反向输入数据(也即第二输入数据)到对应的高速缓存中。
步骤270、通过多个从核,从高速缓存中获取目标输出结果以及第二输入数据,并采用与各目标算子匹配的加速部件,根据目标输出结果以及第二输入数据,对各目标算子进行反向计算,得到各目标算子对应的第二输出结果。
在此步骤中,类似的,以算子A、算子B和算子C为例,假设算子A和算子C的运算类型为非矩阵乘运算,算子B的运算类型为矩阵乘运算,则可以通过多个从核,使用矩阵乘加速部件完成对算子B的反向计算,并使用非矩阵乘加速部件完成算子A和算子C的反向计算。
本发明实施例提供的技术方案,通过接收到目标网络的运算请求后,确定目标网络中包括的多个目标算子,并通过主核调用各目标算子的正向融合接口,通过多个从核从内存中获取目标算子的第一输入数据,并将第一输入数据存储至高速缓存中,通过多个从核从高速缓存中获取第一输入数据,并根据第一输入数据采用与各目标算子匹配的加速部件,对各目标算子进行前向计算,得到各目标算子的第一输出结果,根据各目标算子在目标网络中的组成结构,在各第一输出结果中确定目标输出结果,并将目标输出结果写回至内存中,通过主核调用各目标算子的反向融合接口,通过多个从核,从内存中获取目标输出结果,以及各目标算子对应的第二输入数据,并将目标输出结果以及第二输入数据存储至高速缓存中,通过多个从核,从高速缓存中获取目标输出结果以及第二输入数据,并采用与各目标算子匹配的加速部件,根据目标输出结果以及第二输入数据,对各目标算子进行反向计算,得到各目标算子对应的第二输出结果的技术手段,可以降低对访存带宽的占用率,提高对目标网络中算子的处理效率,以及处理器中硬件资源的利用率。
图3为本发明实施例三提供的一种算子融合处理方法的流程图,本实施例是对上述实施例的进一步细化。如图3所示,该方法包括:
步骤310、接收到目标网络的运算请求后,确定目标网络中包括的多个目标算子,并通过主核调用各目标算子的正向融合接口。
步骤320、通过多个从核,采用与各目标算子匹配的加速部件,对各目标算子进行前向计算,得到各目标算子对应的第一输出结果。
在本实施例中,可选的,如果多个目标算子的运算类型包括非矩阵乘运算和矩阵乘运算,通过多个从核,采用与各目标算子匹配的加速部件,对各目标算子进行前向计算,得到各目标算子对应的第一输出结果,包括:通过多个从核,先采用矩阵乘加速部件,对匹配的目标算子进行前向计算,然后采用非矩阵乘加速部件,对匹配的目标算子进行前向计算,得到各目标算子对应的第一输出结果。
在本实施例中,每个从核的高速缓存上均设置了输入数据与输出结果对应的双缓冲空间,从核在对各目标算子进行处理时,可以先发起矩阵乘运算指令,然后发起非矩阵乘运算指令。
这样设置的好处在于,可以实现在执行矩阵乘运算的过程中,同时执行非矩阵乘运算,由此可以将非矩阵乘的运算耗时进行隐藏,节省目标网络中算子的处理时间。
步骤330、根据各所述目标算子在目标网络中的组成结构、各第一输出结果的反向计算关联度,以及各第一输出结果的计算量,在各第一输出结果中确定目标输出结果。
在本实施例中,所述反向计算关联度,用于表征第一输出结果在反向计算过程中与各目标算子的关联程度。具体的,如果某个第一输出结果在反向计算过程中可以作为目标算子的输入数据,则可以认为该第一输出结果的反向计算关联度较高。
在此步骤中,可选的,获取到各目标算子对应的第一输出结果之后,可以将反向计算关联度较高、并且计算量较高的第一输出结果,作为目标输出结果。
在一个具体的实施例中,以目标网络中的算子A、算子B和算子C为例,在得到算子A、算子B和算子C的第一输出结果之后,由于算子C的反向计算过程需要使用算子B的第一输出结果作为输入数据,并且算子B的第一输出结果运算过程比较复杂,计算量较高,因此可以将算子B和算子C的第一输出结果作为目标输出结果写回内存。
同时,由于算子B的反向计算过程需要使用算子A的第一输出结果作为输入数据,而算子A的第一输出结果运算过程较为简单,计算量较低,因此可以不将算子A的第一输出结果写回内存中。
步骤340、将所述目标输出结果写回至内存中。
步骤350、通过主核调用各目标算子的反向融合接口,并通过多个从核采用与各目标算子匹配的加速部件,根据目标输出结果对各目标算子进行反向计算,得到各目标算子对应的第二输出结果。
在本实施例中,可选的,如果多个目标算子的运算类型包括非矩阵乘运算和矩阵乘运算,通过多个从核采用与各目标算子匹配的加速部件,根据目标输出结果对各目标算子进行反向计算,得到各目标算子对应的第二输出结果,包括:通过多个从核,根据目标输出结果先采用矩阵乘加速部件,对匹配的目标算子进行反向计算,然后采用非矩阵乘加速部件,对匹配的目标算子进行反向计算,得到各目标算子对应的第二输出结果。
这样设置的好处在于,可以实现在执行矩阵乘运算的过程中,同时执行非矩阵乘运算,由此可以将非矩阵乘的运算耗时进行隐藏,节省目标网络中算子的处理时间。
本发明实施例提供的技术方案,通过接收到目标网络的运算请求后,确定目标网络中包括的多个目标算子,并通过主核调用各目标算子的正向融合接口,通过多个从核采用匹配的加速部件对各目标算子进行前向计算,得到各目标算子的第一输出结果,根据各目标算子在目标网络中的组成结构、各第一输出结果的反向计算关联度,以及各第一输出结果的计算量,在各第一输出结果中确定目标输出结果,将目标输出结果写回至内存中,通过主核调用各目标算子的反向融合接口,并通过多个从核采用匹配的加速部件,根据目标输出结果对各目标算子进行反向计算,得到各目标算子对应的第二输出结果的技术手段,可以降低对访存带宽的占用率,提高对目标网络中算子的处理效率,以及处理器中硬件资源的利用率。
为了更好的对本发明实施例提供的技术方案进行介绍,本发明实施例中假设目标网络包括以下算子:批标准化(Batch Normalization,BN)、激活函数Relu,以及卷积函数Convolution。异构众核加速处理器在对上述算子进行融合处理时,可以参考下述的实施方式:
S1、先处理网络的前向计算过程,通过主核调用算子BN,Relu和Convolution的正向融合接口,其中,算子BN根据其算法的特性,可以分解成BNStatistics和BNFinalize两部分,然后启动多个从核;其中,BNStatistics可以为BN算子的前向统计计算层,BNFinalize可以为BN算子中的前向最终输出计算层;其中,BNFinalize根据BNStatistics的统计计算结果进行输出,以得到最终的BN算子前向输出结果;
S2、多个从核向内存发起数据载入,获取算子BNFinalize、Relu、Convolution和BNStatistics的输入数据到高速缓存中。
其中,BNFinalize的输入数据包括xBN和计算BNFinalize的相关系数,可由数据传输引擎载入;Relu的输入数据是BNFinalize的输出结果,无需载入;Convolution的输入数据包括Relu的输出和权重weight,权重weight由数据传输引擎载入;BNStatistics的输入数据包括Convolution的输出结果和计算BNStatistics的相关系数,该相关系数由数据传输引擎载入;其中,xBN可以是算子BN进行前向计算的输入数据;
S3、各个从核,使用矩阵乘加速部件完成Convolution的前向计算,使用非矩阵乘加速部件完成BNFinalize、Relu和BNStatistics的前向计算。其中,BNFinalize和Relu的输出结果无需写回至内存,直接在高速缓存上沿着网络向下计算;Convolution和BNStatistics的输出结果可写回内存,作为下层网络的输入;
S4、循环步骤S2和S3,直到完成BNFinalize、Relu、Convolution和BNStatistics的所有前向计算;
S5、关闭从核,完成网络前向计算;
S6、处理网络的反向计算过程,通过主核调用算子BN、Relu和Convolution的反向融合接口,其中,算子BN的反向计算过程根据其算法的特性,可以分解成BNBStatistics和BNBFinalize两部分,然后启动从核;其中,BNBStatistics可以为BN算子的反向统计计算层,BNBFinalize可以为BN算子的反向最终输出计算层;其中,BNBFinalize根据BNBStatistics的统计计算结果进行输出,以得到最终的BN算子反向输出梯度结果;
S7、多个从核向内存发起数据载入,获取算子BNBFinalize、ConvolutionBD、ReluB和BNBStatistics的输入数据到高速缓存。
其中,BNBFinalize的输入数据包括xBN、dyBN和计算BNBFinalize的相关系数,由数据传输引擎载入;ConvolutionBD的输入数据包括BNBFinalize的输出结果和权重weight,权重weight由数据传输引擎载入;ReluB的输入数据包括ConvolutionBD的输出结果和xRelu,xRelu在正向计算过程时并没有写到内存,需要重新计算;BNBStatistics的输入数据包括xBN、ReluB的输出结果和计算BNBFinalize的相关系数,xBN和相关系数由数据传输引擎载入;dyBN是算子BN进行反向计算的输入数据;ConvolutionBD为Convolution对应的反向更新误差算子;ReluB为Relu对应的反向更新误差算子;xRelu为Relu进行前向计算的输入数据;
S8、各个从核,使用矩阵乘加速部件完成ConvolutionBD的反向计算,使用非矩阵乘加速部件完成BNBFinaliz、ReluB、BNBStatistics和xRelu的相关计算。
其中,ConvolutionBD的输出结果无需写回,直接在高速缓存上沿着网络向下计算;ReluB和BNBStatistics的输出结果写回内存,作为反向传播更新数据向上层网络传输的输入;BNBFinalize的输出结果写回内存,作为反向传播更新权重的输入数据;用BNBStatistics的输入xBN和BNFinalize相关系数,做BNFinalize操作,并完成xRelu的重新计算;
S9、循环步骤S7和S8,直至完成对BNBFinalize、ConvolutionBD、ReluB和BNBStatistics的所有反向计算;
S10、关闭从核,完成网络反向更新数据的计算。
进一步的,上述S2和S3中,在从核的高速缓存上,分别给算子BNFinalize、Relu、Convolution和BNStatistics的输入输出设置双缓冲空间。在S4循环计算的过程中,可以先提交计算Convolution的矩阵乘相关指令,然后提交其他非矩阵乘相关指令,由此可以充分利用硬件资源,达到计算时间的相互覆盖。
类似的,上述S7和S8中,在从核的高速缓存上,分别给算子BNBFinalize、ConvolutionBD、ReluB和BNBStatistics的输入输出设置双缓冲空间。在S9循环计算的过程中,可以先提交计算ConvolutionBD的矩阵乘相关指令,然后提交其他非矩阵乘相关指令,由此可以充分利用硬件资源,达到计算时间的相互覆盖。
在本实施例中,上述S1和S6中,通过根据BN算子的算法特性,将其前向和反向计算过程分解成两部分,可以便于实现整体的计算循环,更好地完成矩阵乘运算和非矩阵乘运算过程的相互掩盖,解耦非必要的数据依赖。
本发明实施例提供的方法可以降低对访存带宽的占用率,提高对目标网络中算子的处理效率,以及处理器中硬件资源的利用率。
图4为本发明实施例四提供的一种算子融合处理装置的结构示意图,所述装置应用于异构众核加速处理器中,如图4所示,该装置包括:正向接口调用模块410、前向计算模块420、结果写入模块430和反向计算模块440。
其中,正向接口调用模块410,用于接收到目标网络的运算请求后,确定目标网络中包括的多个目标算子,并通过主核调用各目标算子的正向融合接口;
前向计算模块420,用于通过多个从核,采用与各目标算子匹配的加速部件,对各目标算子进行前向计算,得到各目标算子对应的第一输出结果;
结果写入模块430,用于根据各所述目标算子在目标网络中的组成结构,在各第一输出结果中确定目标输出结果,并将所述目标输出结果写回至内存中;
反向计算模块440,用于通过主核调用各目标算子的反向融合接口,并通过多个从核采用与各目标算子匹配的加速部件,根据目标输出结果对各目标算子进行反向计算,得到各目标算子对应的第二输出结果。
本发明实施例提供的技术方案,通过接收到目标网络的运算请求后,确定目标网络中包括的多个目标算子,并通过主核调用各目标算子的正向融合接口,通过多个从核,采用与各目标算子匹配的加速部件,对各目标算子进行前向计算,得到各目标算子对应的第一输出结果,根据各目标算子在目标网络中的组成结构,在各第一输出结果中确定目标输出结果,并将目标输出结果写回至内存中,通过主核调用各目标算子的反向融合接口,并通过多个从核采用与各目标算子匹配的加速部件,根据目标输出结果对各目标算子进行反向计算,得到各目标算子对应的第二输出结果的技术手段,可以降低对访存带宽的占用率,提高对目标网络中算子的处理效率,以及处理器中硬件资源的利用率。
在上述实施例的基础上,所述结果写入模块430包括:
目标结果确定单元,用于根据各所述目标算子在目标网络中的组成结构、各第一输出结果的反向计算关联度,以及各第一输出结果的计算量,在各第一输出结果中确定目标输出结果;
其中,所述反向计算关联度,用于表征第一输出结果在反向计算过程中与各目标算子的关联程度。
所述前向计算模块420包括:
第一数据缓存单元,用于通过多个从核,从内存中获取各所述目标算子对应的第一输入数据,并将各所述目标算子对应的第一输入数据存储至对应的高速缓存中;
第一数据获取单元,用于通过多个从核,从对应的高速缓存中获取各目标算子对应的第一输入数据,并根据所述第一输入数据,采用与各目标算子匹配的加速部件,对各目标算子进行前向计算,得到各目标算子对应的第一输出结果;
非矩阵乘运算单元,用于如果所述目标算子的运算类型为非矩阵乘运算,则通过多个从核采用非矩阵乘加速部件,根据所述第一输入数据对目标算子进行前向计算,得到目标算子对应的第一输出结果;
矩阵乘运算单元,用于如果所述目标算子的运算类型为矩阵乘运算,则通过多个从核采用矩阵乘加速部件,根据所述第一输入数据对目标算子进行前向计算,得到目标算子对应的第一输出结果;
前向计算并行执行单元,用于如果多个目标算子的运算类型包括非矩阵乘运算和矩阵乘运算,则通过多个从核,先采用矩阵乘加速部件,对匹配的目标算子进行前向计算,然后采用非矩阵乘加速部件,对匹配的目标算子进行前向计算,得到各目标算子对应的第一输出结果。
所述反向计算模块440包括:
第二数据缓存单元,用于通过多个从核,从内存中获取目标输出结果,以及各目标算子对应的第二输入数据,并将目标输出结果以及第二输入数据存储至对应的高速缓存中;
第二数据获取单元,用于通过多个从核,从高速缓存中获取目标输出结果以及第二输入数据,并采用与各目标算子匹配的加速部件,根据目标输出结果以及第二输入数据,对各目标算子进行反向计算,得到各目标算子对应的第二输出结果;
反向计算并行执行单元,用于如果多个目标算子的运算类型包括非矩阵乘运算和矩阵乘运算,则通过多个从核,根据目标输出结果先采用矩阵乘加速部件,对匹配的目标算子进行反向计算,然后采用非矩阵乘加速部件,对匹配的目标算子进行反向计算,得到各目标算子对应的第二输出结果。
上述装置可执行本发明前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本发明实施例中详尽描述的技术细节,可参见本发明前述所有实施例所提供的方法。
图5示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图5所示,电子设备10包括至少一个异构众核加速处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如算子融合处理方法。
在一些实施例中,算子融合处理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的算子融合处理方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行算子融合处理方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的***和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (7)

1.一种算子融合处理方法,其特征在于,应用于异构众核加速处理器中,所述算子融合处理方法包括:
接收到目标网络的运算请求后,确定目标网络中包括的多个目标算子,并通过主核调用各目标算子的正向融合接口;
如果多个目标算子的运算类型包括非矩阵乘运算和矩阵乘运算,则通过多个从核,采用矩阵乘加速部件,对匹配的目标算子进行前向计算的同时,采用非矩阵乘加速部件,对匹配的目标算子进行前向计算,得到各目标算子对应的第一输出结果;
根据各所述目标算子在目标网络中的组成结构、各第一输出结果的反向计算关联度,以及各第一输出结果的计算量,在各第一输出结果中确定中间处理结果;将除中间处理结果之外的其他输出结果,作为目标输出结果写回至内存中;其中,所述反向计算关联度,用于表征第一输出结果在反向计算过程中与各目标算子的关联程度;
通过主核调用各目标算子的反向融合接口,并通过多个从核,根据目标输出结果采用矩阵乘加速部件,对匹配的目标算子进行反向计算的同时,采用非矩阵乘加速部件,对匹配的目标算子进行反向计算,得到各目标算子对应的第二输出结果。
2.根据权利要求1所述的算子融合处理方法,其特征在于,通过多个从核,采用矩阵乘加速部件,对匹配的目标算子进行前向计算的同时,采用非矩阵乘加速部件,对匹配的目标算子进行前向计算,得到各目标算子对应的第一输出结果,包括:
通过多个从核,从内存中获取各所述目标算子对应的第一输入数据,并将各所述目标算子对应的第一输入数据存储至对应的高速缓存中;
通过多个从核,从对应的高速缓存中获取各目标算子对应的第一输入数据,并根据所述第一输入数据,同时分别采用与各目标算子匹配的加速部件,对各目标算子进行前向计算,得到各目标算子对应的第一输出结果。
3.根据权利要求2所述的算子融合处理方法,其特征在于,根据所述第一输入数据,同时分别采用与各目标算子匹配的加速部件,对各目标算子进行前向计算,得到各目标算子对应的第一输出结果,包括:
如果所述目标算子的运算类型为非矩阵乘运算,则通过多个从核采用非矩阵乘加速部件,根据所述第一输入数据对目标算子进行前向计算,得到目标算子对应的第一输出结果;
如果所述目标算子的运算类型为矩阵乘运算,则通过多个从核采用矩阵乘加速部件,根据所述第一输入数据对目标算子进行前向计算,得到目标算子对应的第一输出结果。
4.根据权利要求1所述的算子融合处理方法,其特征在于,通过多个从核,根据目标输出结果采用矩阵乘加速部件,对匹配的目标算子进行反向计算的同时,采用非矩阵乘加速部件,对匹配的目标算子进行反向计算,得到各目标算子对应的第二输出结果,包括:
通过多个从核,从内存中获取目标输出结果,以及各目标算子对应的第二输入数据,并将目标输出结果以及第二输入数据存储至对应的高速缓存中;
通过多个从核,从高速缓存中获取目标输出结果以及第二输入数据,并同时分别采用与各目标算子匹配的加速部件,根据目标输出结果以及第二输入数据,对各目标算子进行反向计算,得到各目标算子对应的第二输出结果。
5.一种算子融合处理装置,其特征在于,应用于异构众核加速处理器中,所述算子融合处理装置包括:
正向接口调用模块,用于接收到目标网络的运算请求后,确定目标网络中包括的多个目标算子,并通过主核调用各目标算子的正向融合接口;
前向计算模块,用于如果多个目标算子的运算类型包括非矩阵乘运算和矩阵乘运算,则通过多个从核,采用矩阵乘加速部件,对匹配的目标算子进行前向计算的同时,采用非矩阵乘加速部件,对匹配的目标算子进行前向计算,得到各目标算子对应的第一输出结果;
结果写入模块,用于根据各所述目标算子在目标网络中的组成结构、各第一输出结果的反向计算关联度,以及各第一输出结果的计算量,在各第一输出结果中确定中间处理结果;将除中间处理结果之外的其他输出结果,作为目标输出结果写回至内存中;其中,所述反向计算关联度,用于表征第一输出结果在反向计算过程中与各目标算子的关联程度;
反向计算模块,用于通过主核调用各目标算子的反向融合接口,并通过多个从核,根据目标输出结果采用矩阵乘加速部件,对匹配的目标算子进行反向计算的同时,采用非矩阵乘加速部件,对匹配的目标算子进行反向计算,得到各目标算子对应的第二输出结果。
6.一种电子设备,所述电子设备包括:
一个或多个异构众核加速处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被一个或多个异构众核加速处理器执行,使得所述一个或多个异构众核加速处理器执行所述一个或多个程序时实现如权利要求1-4中任一所述的算子融合处理方法。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的算子融合处理方法。
CN202211118517.1A 2022-09-15 2022-09-15 一种算子融合处理方法、装置、设备及存储介质 Active CN115203126B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211118517.1A CN115203126B (zh) 2022-09-15 2022-09-15 一种算子融合处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211118517.1A CN115203126B (zh) 2022-09-15 2022-09-15 一种算子融合处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN115203126A CN115203126A (zh) 2022-10-18
CN115203126B true CN115203126B (zh) 2023-04-18

Family

ID=83572523

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211118517.1A Active CN115203126B (zh) 2022-09-15 2022-09-15 一种算子融合处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115203126B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115796228B (zh) * 2022-11-15 2024-04-05 北京百度网讯科技有限公司 算子融合方法、装置、设备以及存储介质
CN116431562B (zh) * 2023-06-12 2023-11-28 太初(无锡)电子科技有限公司 一种基于加速处理器的多头注意力机制融合计算分配方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978601A (zh) * 2015-06-26 2015-10-14 深圳市腾讯计算机***有限公司 神经网络模型训练***和方法
CN110688159A (zh) * 2017-07-20 2020-01-14 上海寒武纪信息科技有限公司 神经网络任务处理***
CN114580624A (zh) * 2020-11-30 2022-06-03 中科寒武纪科技股份有限公司 用于训练神经网络的方法、设备和计算机可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111783966A (zh) * 2019-04-04 2020-10-16 北京芯启科技有限公司 一种深度卷积神经网络硬件并行加速器的硬件装置及方法
CN110633153A (zh) * 2019-09-24 2019-12-31 上海寒武纪信息科技有限公司 一种用多核处理器实现神经网络模型拆分方法及相关产品
CN114239669A (zh) * 2021-04-14 2022-03-25 无锡江南计算技术研究所 一种异构众核架构上基于算子融合的数据复用方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978601A (zh) * 2015-06-26 2015-10-14 深圳市腾讯计算机***有限公司 神经网络模型训练***和方法
CN110688159A (zh) * 2017-07-20 2020-01-14 上海寒武纪信息科技有限公司 神经网络任务处理***
CN114580624A (zh) * 2020-11-30 2022-06-03 中科寒武纪科技股份有限公司 用于训练神经网络的方法、设备和计算机可读存储介质

Also Published As

Publication number Publication date
CN115203126A (zh) 2022-10-18

Similar Documents

Publication Publication Date Title
CN112561078B (zh) 分布式的模型训练方法及相关装置
CN115203126B (zh) 一种算子融合处理方法、装置、设备及存储介质
JP7454529B2 (ja) 分散型モデルトレーニング装置および方法、電子機器、記憶媒体、ならびに、コンピュータプログラム
CN112631775B (zh) 模型训练方法、装置、电子设备和计算机可读存储介质
CN113392974A (zh) 模型训练方法、装置、电子设备以及存储介质
CN114861039B (zh) 一种搜索引擎的参数配置方法、装置、设备及存储介质
CN116451174A (zh) 任务执行装置、方法、电子设备和存储介质
CN116243978A (zh) 分布式训练中的数据规约方法、装置、介质和训练***
CN115438007A (zh) 一种文件合并方法、装置、电子设备及介质
CN116701091A (zh) 用于导出日志的方法、电子设备和计算机程序产品
CN113361574A (zh) 数据处理模型的训练方法、装置、电子设备及存储介质
CN114692824A (zh) 一种神经网络模型的量化训练方法、装置和设备
CN115759260B (zh) 深度学习模型的推理方法、装置、电子设备和存储介质
CN115660034B (zh) 分布式模型训练的方法、装置和***
CN115965070B (zh) 计算图处理方法、装置、设备、存储介质以及程序产品
CN115629879B (zh) 分布式模型训练的负载均衡方法和装置
CN115860121B (zh) 文本推理方法、装置、设备以及存储介质
CN117632431A (zh) 云计算任务的调度方法、装置、设备及存储介质
CN115329940A (zh) 一种卷积算法的推荐方法、装置、设备及存储介质
CN117610623A (zh) 一种数据处理方法、装置、电子设备和存储介质
CN116150048A (zh) 一种内存优化方法、装置、设备及介质
CN117130970A (zh) 一种多芯片数据传输方法、装置、芯片及存储介质
CN117539602A (zh) 落后者任务推测的方法及装置、电子设备和存储介质
CN117519946A (zh) 深度学习网络中的内存资源调度方法、装置、设备及介质
CN115292662A (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
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 214000 Floor 19 and Floor 20, No. 581 Jianzhu West Road, Wuxi City, Jiangsu Province

Patentee after: Taichu (Wuxi) Electronic Technology Co.,Ltd.

Address before: Room 318, Floor 3, Building A3, No. 777, Jianzhu West Road, Binhu District, Wuxi City, Jiangsu Province, 214000

Patentee before: Taichu (Wuxi) Electronic Technology Co.,Ltd.