CN114610457A - 用于多处理单元的数据协同处理方法及装置 - Google Patents

用于多处理单元的数据协同处理方法及装置 Download PDF

Info

Publication number
CN114610457A
CN114610457A CN202210227643.4A CN202210227643A CN114610457A CN 114610457 A CN114610457 A CN 114610457A CN 202210227643 A CN202210227643 A CN 202210227643A CN 114610457 A CN114610457 A CN 114610457A
Authority
CN
China
Prior art keywords
processing unit
network
neural network
data
sub
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
Application number
CN202210227643.4A
Other languages
English (en)
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.)
Beijing Horizon Robotics Technology Research and Development Co Ltd
Original Assignee
Beijing Horizon Robotics Technology Research and Development 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 Beijing Horizon Robotics Technology Research and Development Co Ltd filed Critical Beijing Horizon Robotics Technology Research and Development Co Ltd
Priority to CN202210227643.4A priority Critical patent/CN114610457A/zh
Publication of CN114610457A publication Critical patent/CN114610457A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Analysis (AREA)

Abstract

本公开实施例公开了一种用于多处理单元的数据协同处理方法、装置、计算机可读存储介质及电子设备,其中,该方法包括:通过多处理单元中的第一处理单元对预设的神经网络中的目标子网络对应的第一组数据进行运算,得到运算结果数据;生成用于向至少一个第二处理单元发送提示本次运算结束的第一信号;检测每个第二处理单元生成的表示每个第二处理单元对目标子网络对应的第二组数据运算结束的第二信号;基于目标子网络在神经网络中的位置,生成指示第一处理单元进一步针对神经网络的操作的指令。本公开实施例实现了在多个处理单元执行神经网络的运算任务期间,自动对各个运算阶段进行协同,提高了神经网络运算的效率。

Description

用于多处理单元的数据协同处理方法及装置
技术领域
本公开涉及计算机技术领域,尤其是一种用于多处理单元的数据协同处理方法、装置、计算机可读存储介质及电子设备。
背景技术
异构多核处理器是由主处理器和加速器两种体系结构处理器搭建而成的计算机系统。通过协调地使用性能、结构各异的处理单元,能够满足不同的计算需求,以获取最大总体性能方式完成加速计算。而神经网络由于结构复杂,数据计算量大,因此,可以设计专门用于神经网络计算的神经网络加速处理单元。集成在同一芯片内的多个神经网络加速处理单元可以并行地执行同一神经网络的计算任务,从而提高神经网络运算的速度。多个神经网络加速处理单元在对同一帧数据进行处理时,可以将对该帧的处理任务划分为多个处理阶段,各阶段之间需要由CPU(中央处理单元)与多个神经网络加速处理单元通过发送指令完成各神经网络加速处理单元的协调运行。
发明内容
本公开的实施例提供了一种用于多处理单元的数据协同处理方法、装置、计算机可读存储介质及电子设备。
本公开的实施例提供了一种用于多处理单元的数据协同处理方法,该方法包括:通过多处理单元中的第一处理单元对对预设的神经网络中的目标子网络对应的第一组数据进行运算,得到运算结果数据;生成用于向多处理单元包括的至少一个第二处理单元发送提示本次运算结束的第一信号;检测至少一个第二处理单元中的每个第二处理单元生成的表示每个第二处理单元对目标子网络对应的第二组数据运算结束的第二信号;基于目标子网络在神经网络中的位置,生成用于指示第一处理单元进一步针对神经网络的操作的指令。
根据本公开实施例的另一个方面,提供了一种用于多处理单元的数据协同处理装置,该装置包括:运算模块,用于通过多处理单元中的第一处理单元对对预设的神经网络中的目标子网络对应的第一组数据进行运算,得到运算结果数据;第一生成模块,用于生成用于向多处理单元包括的至少一个第二处理单元发送提示本次运算结束的第一信号;检测模块,用于检测至少一个第二处理单元中的每个第二处理单元生成的表示每个第二处理单元对目标子网络对应的第二组数据运算结束的第二信号;第二生成模块,用于基于目标子网络在神经网络中的位置,生成用于指示第一处理单元进一步针对神经网络的操作的指令。
根据本公开实施例的另一个方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序用于执行上述用于多处理单元的数据协同处理方法。
根据本公开实施例的另一个方面,提供了一种电子设备,电子设备包括:处理器;用于存储处理器可执行指令的存储器;处理器,用于从存储器中读取可执行指令,并执行指令以实现上述用于多处理单元的数据协同处理方法。
基于本公开上述实施例提供的用于多处理单元的数据协同处理方法、装置、计算机可读存储介质及电子设备,通过第一处理单元从神经网络中确定当前待运行的目标子网络,并对目标子网络对应的第一组数据进行运算,得到运算结果数据,然后向至少一个第二处理单元发送提示本次运算结束的第一信号,在检测到每个第二处理单元生成的表示每个第二处理单元对目标子网络对应的第二组数据运算结束的第二信号时,基于目标子网络在神经网络中的位置,生成进一步针对神经网络的操作的指令。从而实现了在多个处理单元执行神经网络的运算任务期间,各个处理单元间通过第一信号和第二信号判断当前的目标子网络是否运算结束,在目标子网络的运算任务结束时自动执行神经网络的进一步的操作,进而可以自动对各个运算阶段进行协同,无需通过主处理单元进行协调,从而节约了与主处理单元进行通信所耗费的时间,提高了神经网络运算的效率。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本公开所适用的系统图。
图2是本公开一示例性实施例提供的用于多处理单元的数据协同处理方法的流程示意图。
图3是本公开另一示例性实施例提供的用于多处理单元的数据协同处理方法的流程示意图。
图4是本公开的实施例的用于多处理单元的数据协同处理方法的第一连线和第二连线的示例性示意图。
图5是本公开另一示例性实施例提供的用于多处理单元的数据协同处理方法的流程示意图。
图6是本公开一示例性实施例提供的用于多处理单元的数据协同处理装置的结构示意图。
图7是本公开另一示例性实施例提供的用于多处理单元的数据协同处理装置的结构示意图。
图8是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
申请概述
目前的多个神经网络加速处理单元处理一帧数据时,通常是将完整的神经网络处理任务划分为多个部分,每个部分由相应的处理单元获取相应的数据进行处理,并由中央处理单元协调各神经网络加速处理单元计算过程。
例如,若芯片内包括两个神经网络加速处理单元和一个中央处理单元,两个神经网络加速处理单元可以各承担神经网络的一半计算量,计算完神经网络的一层后,等待中央处理单元进一步的指令,从而时两个神经网络加速处理单元同步运行。
但是,由于在对一帧数据进行处理期间,各神经网络加速处理单元需要与中央处理单元进行多次通信,从而导致数据处理的耗费时间较长。为了解决该问题,本公开实施例通过在用于进行神经网络的计算的各个处理单元之间建立通信连接,实现了无需通过中央处理单元即可完成用于进行神经网络的计算的各个处理单元的协同计算。
示例性系统
图1示出了可以应用本公开的实施例的用于多处理单元的数据协同处理方法或用于多处理单元的数据协同处理装置的示例性系统架构100。
如图1所示,系统架构100可以包括第一处理单元101,至少一个第二处理单元102、主处理单元103和共享内存104。其中,第一处理单元101、至少一个第二处理单元102、主处理单元103和共享内存104可以集成在一个芯片中,也可以设置到不同的芯片或电路板中,这些芯片或电路板之间可以建立数据通信的链路。
第一处理单元101和至少一个第二处理单元102用于进行神经网络的计算。通常,第一处理单元101和至少一个第二处理单元102可以协同地运行同一神经网络的不同部分,以对同一帧数据进行处理。第一处理单元101和至少一个第二处理单元102两两之间可以建立通信连接,以向其他处理单元发送提示本次运算结束的第一信号和表示其他处理单元本次运算结束的第二信号。
主处理单元103可以对第一处理单元101和至少一个第二处理单元102的运算过程进行管理。例如,向第一处理单元101和至少一个第二处理单元102发送各种指令(例如指示第一处理单元101和至少一个第二处理单元102启动神经网络运算的指令、指示第一处理单元101和至少一个第二处理单元102结束运算的指令等),以及接收第一处理单元101和至少一个第二处理单元102发送的通知。
共享内存104用于存储第一处理单元101和至少一个第二处理单元102输出的运算结果数据,还可以存储待处理的原始数据、神经网络的参数等。第一处理单元101和至少一个第二处理单元102可以从共享内存中读取待运算的数据,并将运算结果存入共享内存104中。主处理单元103可以从共享内存中读取第一处理单元101和至少一个第二处理单元102输出的运算结果数据。
需要说明的是,第一处理单元101和至少一个第二处理单元102的功能是相同的,即分别用于针对同一神经网络的不同部分进行数据运算,因此,图1所示的第一处理单元101和至少一个第二处理单元102中的每个处理单元均可以执行该用于多处理单元的数据协同处理方法,相应地,每个处理单元均可以设置该用于多处理单元的数据协同处理装置。针对执行同一神经网络运算的多个处理单元中的任一个处理单元,该处理单元即为第一处理单元,其他处理单元即为第二处理单元。
应该理解,图1中的第一处理单元101、第二处理单元102和主处理单元103的数目仅仅是示意性的。根据实现需要,可以具有任意数目的第一处理单元101、第二处理单元102和主处理单元103。
示例性方法
图2是本公开一示例性实施例提供的用于多处理单元的数据协同处理方法的流程示意图。本实施例可应用在如图1所示的第一处理单元101上,如图2所示,该方法包括如下步骤:
步骤201,通过多处理单元中的第一处理单元对预设的神经网络中的目标子网络对应的第一组数据进行运算,得到运算结果数据。
在本实施例中,第一处理单元101可以对目标子网络对应的第一组数据进行运算,得到运算结果数据。其中,上述神经网络可以包括多个子网络,例如,神经网络包括的每个卷积层可以作为一个子网络。目标子网络是神经网络中的各个子网络中,当前待运行的子网络。
神经网络中的各个子网络通常是按照一定的顺序依次执行运算任务,根据该顺序,当前即将运行的子网络即为目标子网络。
通常,在执行步骤201之前,由第一处理单元101以及如图1所示的至少一个第二处理单元102执行该数据协同处理方法所需的指令,会预先存入如图1所示的共享内存104中,第一处理单元101和至少一个第二处理单元102分别从共享内存104中读取各自对应的指令,基于读取的指令,第一处理单元101和至少一个第二处理单元102分别执行该数据协同处理方法中的步骤。上述指令可以是预先通过编译器对编写的数据协同处理方法的程序进行编译生成的。
上述第一组数据包括输入目标子网络的待处理数据的一部分和目标子网络对应的计算参数的一部分。
例如,目标子网络为上述神经网络中的某个卷积层,该卷积层用于利用其对应的卷积核(即计算参数)对输入其中的待处理数据进行卷积运算,第一处理单元101可以预先配置为承担目标子网络的部分(例如一半)卷积运算的运算量,则第一处理单元101可以获取其对应的待处理数据和卷积核包括的参数,并对这部分数据进行卷积运算,得到运算结果数据。
通常,上述第一组数据可以保存在第一处理单元101之外的共享内存(如图1所示的共享内存104)中,当第一单元启动执行目标子网络的运算时,第一处理单元101可以从共享内存读取上述第一组数据并保存至第一处理单元101内的缓存(例如SRAM(StaticRandom-Access Memory,静态随机存储器)类型的缓存)中。第一处理单元101在运算结束后,将运算结果数据存入共享内存。
步骤202,生成用于向多处理单元包括的至少一个第二处理单元发送提示本次运算结束的第一信号。
在本实施例中,第一处理单元101可以生成用于向如图1所示的至少一个第二处理单元102发送提示本次运算结束的第一信号。其中,第一信号可以为各种形式的信号,例如高低电平信号,数字信号等。第一处理单元可以通过与至少一个第二处理单元102之间的连线直接发送第一信号,也可以通过其他器件间接发送第一信号。
步骤203,检测至少一个第二处理单元中的每个第二处理单元生成的表示每个第二处理单元对目标子网络对应的第二组数据运算结束的第二信号。
在本实施例中,第一处理单元101可以检测至少一个第二处理单元102中的每个第二处理单元生成的表示每个第二处理单元对目标子网络对应的第二组数据运算结束的第二信号。
其中,每个第二处理单元处理的数据均被称为第二组数据。作为示例,当第二处理单元为一个时,该第二处理单元处理目标子网络处理的全量数据中的一半,这一半数据即为第二组数据,相应的,第一处理单元101处理目标子网络处理的全量数据中的另一半,这一半数据即为第一组数据。
当某个第二处理单元单元结束对第二组数据的运算时,向第一处理单元101发送第二信号。当第一处理单元101接收到所有第二处理单元发送的第二信号时,确定当前针对目标子网络的运算结束。
步骤204,基于目标子网络在神经网络中的位置,生成用于指示第一处理单元进一步针对神经网络的操作的指令。
在本实施例中,第一处理单元101可以基于目标子网络在神经网络中的位置,生成用于指示第一处理单元101进一步针对神经网络的操作的指令。
其中,上述神经网络中的各个子网络在神经网络中具有一定的位置排序,第一处理单元101按照顺序依次执行各个子网络的运算任务。若第一处理单元101和至少一个第二处理单元102均完成目标子网络的运算任务,则可以进一步按照各个子网络的顺序,生成继续执行后续的数据处理任务的指令,并基于该指令执行后续的数据处理任务。
本公开的上述实施例提供的方法,通过第一处理单元从神经网络中确定当前待运行的目标子网络,并对目标子网络对应的第一组数据进行运算,得到运算结果数据,然后向至少一个第二处理单元发送提示本次运算结束的第一信号,在检测到每个第二处理单元生成的表示每个第二处理单元对目标子网络对应的第二组数据运算结束的第二信号时,基于目标子网络在神经网络中的位置,生成进一步针对神经网络的操作的指令。从而实现了在多个处理单元执行神经网络的运算任务期间,各个处理单元间通过第一信号和第二信号判断当前的目标子网络是否运算结束,在目标子网络的运算任务结束时自动执行神经网络的进一步的操作,进而可以自动对各个运算阶段进行协同,无需通过主处理单元进行协调,从而节约了与主处理单元进行通信所耗费的时间,提高了神经网络运算的效率。
在一些可选的实现方式中,步骤204可以包括:
响应于确定目标子网络不是神经网络中的最后一级子网络,生成第一指令,并根据第一指令重新获取当前待运行的目标子网络对应的第一组数据。
作为示例,若神经网络包括三个卷积层,每个卷积层即为一个子网络。三个卷积层按照顺序依次标记为C1、C2、C3,若当前执行运算任务结束的子网络为C1(或C2),则生成第一指令,根据第一指令重新获取作为目标子网络的下一级子网络C2(或C3)对应的第一组数据。第一处理单元101再次执行上述步骤201-步骤204,直到所有子网络均执行运算任务完毕。
本实施例通过循环执行步骤201-步骤204,可以使神经网络包括的每个子网络在执行运算任务期间,均可以是第一处理单元和至少一个第二处理单元自动进行协同运算,从而提高了整个神经网络处理数据的速度。
在一些可选的实现方式中,步骤204可以包括:
响应于确定目标子网络是神经网络中的最后一级子网络,生成第二指令,并根据第二指令向多处理单元包括的主处理单元发送表示神经网络运行完毕的第三信号。
具体地,若目标子网络为神经网络中的最后一级子网络,表示当前由第一处理单元101和至少一个第二处理单元102执行神经网络的运算任务完毕,此时可以向如图1所示的主处理单元103发送第三信号,主处理单元103在接收到第三信号后,可以从共享内存104中读取目标子网络对应的运算结果数据,也可以读取其他子网络对应的运算结果数据,然后利用读取的运算结果数据进行后续处理(例如分类、输出用于显示的信息等)。
本实施例通过在第一处理单元101和至少一个第二处理单元102自动协同执行神经网络的运算任务完毕时,通知主处理单元运算结束,从而实现了只需在神经网络运算结束时与主处理单元进行一次通信,在提高神经网络运算的速度的同时,能够大大减少主处理单元与第一处理单元101和至少一个第二处理单元102进行通信的时间,提高了主处理单元的运行效率。
在一些可选的实现方式中,如图3所示,步骤202包括:
步骤2021,将与至少一个第二处理单元中的每个第二处理单元之间的第一连线上的电平设置为表示第一信号的第一电平。
其中,第一电平可以任意设置,例如高电平,相应的,在第一处理单元101执行目标子网络的运算任务期间,上述第一连线上保持低电平。
基于此,上述步骤203包括:
步骤2031,检测与至少一个第二处理单元中的每个第二处理单元之间的第二连线上的电平是否为第一电平,若是第一电平,确定检测到第二信号。
作为示例,如图4所示,第一处理单元101通过第一连线4011、4012与第二处理单元1021、1022连接,并且通过第二连线4021、4022与第二处理单元1021、1022连接。当第一处理单元101利用第一组数据执行目标子网络的运算任务结束后,将第一连线4011、4012上的电平置高(即第一电平),若此时检测到第二连线4021、4022上的电平为低,则等待,直到检测到第二连线4021、4022上的电平均为表示第二信号的高电平,则确定第二处理单元1021、1022利用分别对应的第二组数据执行目标子网络的运算任务结束。
另一方面,若第一处理单元101正在执行运算任务的过程中检测到第二连线4021或4022为高电平,则继续执行运算任务直到本次运算结束,并将第一连线4011、4012上的电平置高,以通知第二处理单元1021、1022本次运算结束。
本实施例通过设置第一处理单元和第二处理单元之间的第一连线和第二连线上的电平来检测第一处理单元和第二处理单元是否执行目标子网络的运算任务结束,从而实现了基于电平检测即可使第一处理单元和至少一个第二处理单元协同运算,无需进行复杂的信号收发操作,提高了各处理单元协同运算的效率。
在一些可选的实现方式中,如图3所示,在步骤2031之后,该方法还包括:
步骤2032,将第二连线上的电平设置为第二电平。
其中,第二电平与第一电平不同,例如,第一电平为高电平,第二电平则为低电平。
本实施例中,第一处理单元101只要检测到第二连线上的电平为第一电平,即将第二连线上的电平置为第二电平,以等待第二处理单元下一次运算结束时再次将第二连线上的电平置为第一电平。
本实施例通过在检测到第二连线上出现第一电平时随即将第二连线上的电平置为第二电平,可以自动为下一次协同运算做准备,进一步提高了各处理单元协同运算的效率。
在一些可选的实现方式中,在步骤201之后,该方法还包括:
将运算结果数据存储到如图1所示的多处理单元对应的共享内存104中。
其中,共享内存104用于存储第一处理单元101和至少一个第二处理单元102输出的运算结果数据,还可以存储待处理的原始数据、神经网络的参数等。
通过设置共享内存,实现了将各个处理单元输出的运算结果数据暂存在共享内存中,便于主处理单元从共享内存中提取运算结果数据,减少了与主处理单元进行数据交换所耗费的时间,有助于进一步提高神经网络运算的效率。
在一些可选的实现方式中,如图5所示,步骤201可以包括:
步骤2011,响应于确定目标子网络不是神经网络包括的第一级子网络,从共享内存中获取目标子网络对应的由第一处理单元处理的预设参数和目标子网络的上一级子网络输出的运算结果数据作为第一组数据,并对第一组数据进行运算,得到运算结果数据。
即,当目标子网络不是第一级子网络时,第一处理单元101需要利用目标子的上一级子网络输出的运算结果数据进行运算,由于上一级子网络输出的运算结果数据存储在共享内存中,因此,可以直接从共享内存读取到上述第一组数据。在运算结束后,将当前的运算结果数据存入共享内存中,以供下级子网络或主处理单元从共享内存读取运算结果数据。
步骤2012,响应于确定目标子网络是神经网络包括的第一级子网络,从共享内存中获取目标子网络对应的由第一处理单元处理的预设参数和预设待输入数据作为第一组数据,并对第一组数据进行运算,得到运算结果数据。
即,当目标子网络是第一级子网络时,第一处理单元101可以从共享内存读取预先存储的第一组数据。在运算结束后,将当前的运算结果数据存入共享内存中,以供下级子网络或主处理单元从共享内存读取运算结果数据。取各阶段的参数和相应的运算数据,实现了各个处理单元自动地在神经网络的整个运算过程完成数据的存取,提高了神经网络的数据处理效率。
示例性装置
图6是本公开一示例性实施例提供的用于多处理单元的数据协同处理装置的结构示意图。本实施例可应用在如图1所示的第一处理单元101上,如图6所示,用于多处理单元的数据协同处理装置包括:运算模块601,用于通过多处理单元中的第一处理单元对预设的神经网络中的目标子网络对应的第一组数据进行运算,得到运算结果数据;第一生成模块602,用于生成用于向多处理单元包括的至少一个第二处理单元发送提示本次运算结束的第一信号;检测模块603,用于检测至少一个第二处理单元中的每个第二处理单元生成的表示每个第二处理单元对目标子网络对应的第二组数据运算结束的第二信号;第二生成模块604,用于基于目标子网络在神经网络中的位置,生成用于指示第一处理单元进一步针对神经网络的操作的指令。
在本实施例中,运算模块601可以对目标子网络对应的第一组数据进行运算,得到运算结果数据。其中,上述神经网络可以包括多个子网络,例如,神经网络包括的每个卷积层可以作为一个子网络。目标子网络是神经网络中的各个子网络中,当前待运行的子网络。
神经网络中的各个子网络通常是按照一定的顺序依次执行运算任务,根据该顺序,当前即将运行的子网络即为目标子网络。
上述第一组数据包括输入目标子网络的待处理数据的一部分和目标子网络对应的计算参数的一部分。
例如,目标子网络为上述神经网络中的某个卷积层,该卷积层用于利用其对应的卷积核(即计算参数)对输入其中的待处理数据进行卷积运算,第一处理单元101可以预先配置为承担目标子网络的部分(例如一半)卷积运算的运算量,则第一处理单元101可以获取其对应的待处理数据和卷积核包括的参数,并对这部分数据进行卷积运算,得到运算结果数据。
通常,上述第一组数据可以保存在第一处理单元101之外的共享内存(如图1所示的共享内存104)中,当第一单元启动执行目标子网络的运算时,第一处理单元101可以从共享内存读取上述第一组数据并保存至第一处理单元101内的缓存(例如SRAM(StaticRandom-Access Memory,静态随机存储器)类型的缓存)中。第一处理单元101在运算结束后,将运算结果数据存入共享内存。
在本实施例中,第一生成模块602可以生成用于向如图1所示的至少一个第二处理单元102发送提示本次运算结束的第一信号。其中,第一信号可以为各种形式的信号,例如高低电平信号,数字信号等。第一处理单元可以通过与至少一个第二处理单元102之间的连线直接发送第一信号,也可以通过其他器件间接发送第一信号。
在本实施例中,检测模块603可以检测至少一个第二处理单元102中的每个第二处理单元生成的表示每个第二处理单元对目标子网络对应的第二组数据运算结束的第二信号。
其中,每个第二处理单元处理的数据均被称为第二组数据。作为示例,当第二处理单元为一个时,该第二处理单元处理目标子网络处理的全量数据中的一半,这一半数据即为第二组数据,相应的,第一处理单元101处理目标子网络处理的全量数据中的另一半,这一半数据即为第一组数据。
当某个第二处理单元单元结束对第二组数据的运算时,向第一处理单元101发送第二信号。当第一处理单元101接收到所有第二处理单元发送的第二信号时,确定当前针对目标子网络的运算结束。
在本实施例中,第二生成模块604可以基于目标子网络在神经网络中的位置,生成用于指示第一处理单元101进一步针对神经网络的操作的指令。
其中,上述神经网络中的各个子网络在神经网络中具有一定的位置排序,第一处理单元101按照顺序依次执行各个子网络的运算任务。若第一处理单元101和至少一个第二处理单元102均完成目标子网络的运算任务,则可以进一步按照各个子网络的顺序,生成继续执行后续的数据处理任务的指令,并基于该指令执行后续的数据处理任务。
参照图7,图7是本公开另一示例性实施例提供的用于多处理单元的数据协同处理装置的结构示意图。
在一些可选的实现方式中,第二生成模块604进一步用于:响应于确定目标子网络不是神经网络中的最后一级子网络,生成第一指令,并根据第一指令重新获取当前待运行的目标子网络对应的第一组数据。
在一些可选的实现方式中,第二生成模块604进一步用于:响应于确定目标子网络是神经网络中的最后一级子网络,生成第二指令,并根据第二指令向多处理单元包括的主处理单元发送表示神经网络运行完毕的第三信号。
在一些可选的实现方式中,第一生成模块602进一步用于:将与至少一个第二处理单元中的每个第二处理单元之间的第一连线上的电平设置为表示第一信号的第一电平;检测模块603包括:第一检测单元6031,用于检测与至少一个第二处理单元中的每个第二处理单元之间的第二连线上的电平是否为第一电平,若是第一电平,确定检测到第二信号。
在一些可选的实现方式中,检测模块603还包括:第二检测单元6032,用于将第二连线上的电平设置为第二电平。
在一些可选的实现方式中,该装置还包括:存储模块605,用于将运算结果数据存储到多处理单元对应的共享内存中。
在一些可选的实现方式中,运算模块601包括:第一运算单元6011,用于响应于确定目标子网络不是神经网络包括的第一级子网络,从共享内存中获取目标子网络对应的由第一处理单元处理的预设参数和目标子网络的上一级子网络输出的运算结果数据作为第一组数据,并对第一组数据进行运算,得到运算结果数据;第二运算单元6012,用于响应于确定目标子网络是神经网络包括的第一级子网络,从共享内存中获取目标子网络对应的由第一处理单元处理的预设参数和预设待输入数据作为第一组数据,并对第一组数据进行运算,得到运算结果数据。
本公开上述实施例提供的用于多处理单元的数据协同处理装置,通过第一处理单元从神经网络中确定当前待运行的目标子网络,并对目标子网络对应的第一组数据进行运算,得到运算结果数据,然后向至少一个第二处理单元发送提示本次运算结束的第一信号,在检测到每个第二处理单元生成的表示每个第二处理单元对目标子网络对应的第二组数据运算结束的第二信号时,基于目标子网络在神经网络中的位置,生成进一步针对神经网络的操作的指令。从而实现了在多个处理单元执行神经网络的运算任务期间,各个处理单元间通过第一信号和第二信号判断当前的目标子网络是否运算结束,在目标子网络的运算任务结束时自动执行神经网络的进一步的操作,进而可以自动对各个运算阶段进行协同,无需通过主处理单元进行协调,从而节约了与主处理单元进行通信所耗费的时间,提高了神经网络运算的效率。
示例性电子设备
下面,参考图8来描述根据本公开实施例的电子设备。图8图示了根据本公开实施例的电子设备的框图。
如图8所示,电子设备800包括用于协同运行神经网络的至少两个处理单元801、用于存储所述至少两个处理单元801的可执行指令的存储器802。
电子设备800可以为各种形式的设备,例如,电子设备800可以为一个芯片,该芯片上集成了上述至少两个处理单元801和存储器802。再例如,电子设备800可以为多个芯片或电路组合而成的设备,例如,上述至少两个处理单元801和存储器802可以分别设置在不同的芯片或电路板中。
所述至少两个处理单元801中的每个处理单元,用于从所述存储器802中读取对应的可执行指令,并执行读取的可执行指令以实现上述图2对应实施例描述的用于多处理单元的数据协同处理方法。
上述至少两个处理单元801可以是专门用于进行神经网络运算的处理单元,例如神经网络加速处理器,至少两个处理单元801还可以控制电子设备600中的其他组件以执行期望的功能。
应当理解,对于上述至少两个处理单元801中的每个处理单元,当该处理单元执行上述图2对应实施例描述的用于多处理单元的数据协同处理方法时,该处理单元即为第一处理单元,其他处理单元即为至少一个第二处理单元。
上述存储器802可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令。
在一个示例中,电子设备800还可以包括:输入装置803和输出装置804,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,该输入装置803可以是鼠标、键盘等设备,用于输入支持神经网络运算的各种命令等内容。该输入装置803还可以是通信网络连接器,用于从远程接收各种命令等内容。
该输出装置804可以向外部输出各种信息,包括神经网络的运算结果等。该输出设备804可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图8中仅示出了该电子设备800中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备800还可以包括任何其他适当的组件。
本公开的上述实施例提供的电子设备,通过其包括的每个处理单元执行上述图2对应实施例描述的用于多处理单元的数据协同处理方法,实现了在多个处理单元执行神经网络的运算任务期间,自动对各个运算阶段进行协同,无需通过主处理单元进行协调,从而节约了与主处理单元进行通信所耗费的时间,提高了神经网络运算的效率。
在一些可选的实现方式中,如图8所示,所述电子设备800还包括共享内存805,用于存储所述神经网络包括的至少一个子网络在运行时所需的数据和所述至少一个子网络输出的数据。共享内存803可以与上述至少两个处理单元801和存储器802集成在一个芯片中,也可以设置在不同的芯片。
需要说明的是,共享内存803和所述存储器802的名称仅仅是功能上的区分,并不作为硬件方面的区分,共享内存803和存储器802可以是一个器件,也可以是不同的器件。
通过设置共享内存,实现了将各个处理单元输出的运算结果数据暂存在共享内存中,便于处理单元从共享内存中直接提取运算结果数据,还可以减少了与主处理单元进行数据交换所耗费的时间,有助于进一步提高神经网络运算的效率。
在一些可选的实现方式中,如图8所示,所述电子设备800还包括主处理单元806,用于响应于接收到所述至少两个处理单元中的每个处理单元发送的表示所述神经网络运行完毕的第三信号,从所述共享内存中读取所述神经网络输出的数据。主处理单元在接收到第三信号后,可以从共享内存中读取目标子网络对应的运算结果数据,也可以读取其他子网络对应的运算结果数据,然后利用读取的运算结果数据进行后续处理(例如分类、输出用于显示的信息等)。
本实施例通过在至少两个处理单元801自动协同执行神经网络的运算任务完毕时,通知主处理单元806运算结束,从而实现了只需在神经网络运算结束时与主处理单元进行一次通信,在提高神经网络运算的速度的同时,又节约了主处理单元806与至少两个处理单元801进行通信的时间,提高了主处理单元的运行效率。
在一些可选的实现方式中,如图8所示,所述至少两个处理单元801两两之间设置有第一连线807和第二连线808。
所述至少两个处理单元801中的每个处理单元,用于通过所述第一连线807向连接的其他处理单元发送表示本次运算结束的第一信号,通过所述第二连线808从连接的其他处理单元接收表示其他处理单元本次运算结束的第二信号。
本实施例通过设置各个处理单元之间的第一连线和第二连线,实现了各个处理单元之间的可以直接进行通信,从而有助于更高效地使各个处理单元执行神经网络的协同运算。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的用于多处理单元的数据协同处理方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的用于多处理单元的数据协同处理方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (13)

1.一种用于多处理单元的数据协同处理方法,其中,所述方法包括:
通过所述多处理单元中的第一处理单元对预设的神经网络中的目标子网络对应的第一组数据进行运算,得到运算结果数据;
生成用于向所述多处理单元包括的至少一个第二处理单元发送提示本次运算结束的第一信号;
检测所述至少一个第二处理单元中的每个第二处理单元生成的表示每个第二处理单元对所述目标子网络对应的第二组数据运算结束的第二信号;
基于所述目标子网络在所述神经网络中的位置,生成用于指示所述第一处理单元进一步针对所述神经网络的操作的指令。
2.根据权利要求1所述的方法,其中,所述基于所述目标子网络在所述神经网络中的位置,生成用于指示所述第一处理单元进一步针对所述神经网络的操作的指令,包括:
响应于确定所述目标子网络不是所述神经网络中的最后一级子网络,生成第一指令,并根据所述第一指令重新获取当前待运行的目标子网络对应的第一组数据。
3.根据权利要求1所述的方法,其中,所述基于所述目标子网络在所述神经网络中的位置,生成用于指示所述第一处理单元进一步针对所述神经网络的操作的指令,包括:
响应于确定所述目标子网络是所述神经网络中的最后一级子网络,生成第二指令,并根据所述第二指令向所述多处理单元包括的主处理单元发送表示所述神经网络运行完毕的第三信号。
4.根据权利要求2所述的方法,其中,所述生成用于向所述多处理单元包括的至少一个第二处理单元发送提示本次运算结束的第一信号,包括:
将与所述至少一个第二处理单元中的每个第二处理单元之间的第一连线上的电平设置为表示第一信号的第一电平;
所述检测所述至少一个第二处理单元中的每个第二处理单元生成的表示每个第二处理单元对所述目标子网络对应的第二组数据运算结束的第二信号,包括:
检测与所述至少一个第二处理单元中的每个第二处理单元之间的第二连线上的电平是否为第一电平,若是第一电平,确定检测到所述第二信号。
5.根据权利要求4所述的方法,其中,在所述确定检测到所述第二信号之后,所述方法还包括:
将所述第二连线上的电平设置为第二电平。
6.根据权利要求1-5任一项所述的方法,其中,在所述对所述目标子网络对应的第一组数据进行运算,得到运算结果数据之后,所述方法还包括:
将所述运算结果数据存储到所述多处理单元对应的共享内存中。
7.根据权利要求6所述的方法,其中,所述对所述目标子网络对应的第一组数据进行运算,得到运算结果数据,包括:
响应于确定所述目标子网络不是所述神经网络包括的第一级子网络,从所述共享内存中获取所述目标子网络对应的由所述第一处理单元处理的预设参数和所述目标子网络的上一级子网络输出的运算结果数据作为第一组数据,并对所述第一组数据进行运算,得到运算结果数据;
响应于确定所述目标子网络是所述神经网络包括的第一级子网络,从所述共享内存中获取所述目标子网络对应的由所述第一处理单元处理的预设参数和预设待输入数据作为第一组数据,并对所述第一组数据进行运算,得到运算结果数据。
8.一种用于多处理单元的数据协同处理装置,其中,所述装置包括:
运算模块,用于通过所述多处理单元中的第一处理单元对预设的神经网络中的目标子网络对应的第一组数据进行运算,得到运算结果数据;
第一生成模块,用于生成用于向所述多处理单元包括的至少一个第二处理单元发送提示本次运算结束的第一信号;
检测模块,用于检测所述至少一个第二处理单元中的每个第二处理单元生成的表示每个第二处理单元对所述目标子网络对应的第二组数据运算结束的第二信号;
第二生成模块,用于基于所述目标子网络在所述神经网络中的位置,生成用于指示所述第一处理单元进一步针对所述神经网络的操作的指令。
9.一种电子设备,所述电子设备包括用于协同运行神经网络的至少两个处理单元、用于存储所述至少两个处理单元的可执行指令的存储器;
所述至少两个处理单元中的每个处理单元,用于从所述存储器中读取对应的可执行指令,并执行读取的可执行指令以实现上述权利要求1-7中任一所述的方法。
10.根据权利要求9所述的电子设备,其中,所述电子设备还包括共享内存;
所述共享内存,用于存储所述神经网络包括的至少一个子网络在运行时所需的数据和所述至少一个子网络输出的数据。
11.根据权利要求10所述的电子设备,其中,所述电子设备还包括主处理单元;
所述主处理单元,用于响应于接收到所述至少两个处理单元中的每个处理单元发送的表示所述神经网络运行完毕的第三信号,从所述共享内存中读取所述神经网络输出的数据。
12.根据权利要求9-11任一项所述的电子设备,其中,所述至少两个处理单元两两之间设置有第一连线和第二连线;
所述至少两个处理单元中的每个处理单元,用于通过所述第一连线向连接的其他处理单元发送表示本次运算结束的第一信号,通过所述第二连线从连接的其他处理单元接收表示其他处理单元本次运算结束的第二信号。
13.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-7任一所述的方法。
CN202210227643.4A 2022-03-08 2022-03-08 用于多处理单元的数据协同处理方法及装置 Pending CN114610457A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210227643.4A CN114610457A (zh) 2022-03-08 2022-03-08 用于多处理单元的数据协同处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210227643.4A CN114610457A (zh) 2022-03-08 2022-03-08 用于多处理单元的数据协同处理方法及装置

Publications (1)

Publication Number Publication Date
CN114610457A true CN114610457A (zh) 2022-06-10

Family

ID=81862033

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210227643.4A Pending CN114610457A (zh) 2022-03-08 2022-03-08 用于多处理单元的数据协同处理方法及装置

Country Status (1)

Country Link
CN (1) CN114610457A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804616A (zh) * 2018-05-30 2018-11-13 中国科学院空间应用工程与技术中心 一种空间有效载荷在轨图像数据挖掘的装置和方法
CN109726807A (zh) * 2017-10-31 2019-05-07 上海寒武纪信息科技有限公司 神经网络处理器、运算方法及存储介质
CN110298437A (zh) * 2019-06-28 2019-10-01 Oppo广东移动通信有限公司 神经网络的分割计算方法、装置、存储介质及移动终端
CN110659069A (zh) * 2018-06-28 2020-01-07 赛灵思公司 用于执行神经网络计算的指令调度方法及相应计算系统
WO2020093885A1 (zh) * 2018-11-09 2020-05-14 北京灵汐科技有限公司 一种异构协同计算系统
CN112732601A (zh) * 2018-08-28 2021-04-30 中科寒武纪科技股份有限公司 数据预处理方法、装置、计算机设备和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726807A (zh) * 2017-10-31 2019-05-07 上海寒武纪信息科技有限公司 神经网络处理器、运算方法及存储介质
CN108804616A (zh) * 2018-05-30 2018-11-13 中国科学院空间应用工程与技术中心 一种空间有效载荷在轨图像数据挖掘的装置和方法
CN110659069A (zh) * 2018-06-28 2020-01-07 赛灵思公司 用于执行神经网络计算的指令调度方法及相应计算系统
CN112732601A (zh) * 2018-08-28 2021-04-30 中科寒武纪科技股份有限公司 数据预处理方法、装置、计算机设备和存储介质
WO2020093885A1 (zh) * 2018-11-09 2020-05-14 北京灵汐科技有限公司 一种异构协同计算系统
CN110298437A (zh) * 2019-06-28 2019-10-01 Oppo广东移动通信有限公司 神经网络的分割计算方法、装置、存储介质及移动终端

Similar Documents

Publication Publication Date Title
US9223601B2 (en) Control device, control method, and non-transitory computer-readable storage medium for a virtual system deployment
US9830163B2 (en) Control flow in a heterogeneous computer system
CN110825399B (zh) 一种应用程序的部署方法及装置
EP3842964A2 (en) Display verification method and apparatus for browser, computer device and storage medium
CN115934346B (zh) 算子的自动检测方法、装置、电子设备及介质
CN115576699A (zh) 数据处理方法、装置、ai芯片、电子设备及存储介质
CN111949513A (zh) 一种配置文件加载方法、装置、电子设备和可读存储装置
CN112766470B (zh) 特征数据处理方法、指令序列生成方法、装置及设备
CN114610457A (zh) 用于多处理单元的数据协同处理方法及装置
US20230367936A1 (en) Verification method, electronic device and storage medium
CN111722863A (zh) 风控模型更新方法及装置
CN115794690A (zh) 一种基于服务器中外接设备的处理方法及装置
US20150100759A1 (en) Pipelined finite state machine
WO2019012907A1 (ja) 演算装置
CN110175182B (zh) 数据核对方法及装置
CN114896110A (zh) 链路检测方法、装置、设备和存储介质
CN111459474B (zh) 一种模板化的数据处理方法及装置
CN110795669B (zh) 表单页面响应处理方法及装置
CN110162278B (zh) Pos机内置打印机的添加方法及装置
CN113535338A (zh) 用于数据接入的交互方法、系统、存储介质及电子设备
CN112685127A (zh) 基于内容管理系统的数据源操作方法及系统
CN106959969B (zh) 一种数据处理方法及装置
JP2944321B2 (ja) 論理評価システム
CN114021709B (zh) 多fpga数据处理方法、装置、服务器及存储介质
CN110969247B (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