CN113254385A - 一种网络结构、并行推理模型的编译加载方法及芯片系统 - Google Patents
一种网络结构、并行推理模型的编译加载方法及芯片系统 Download PDFInfo
- Publication number
- CN113254385A CN113254385A CN202110610691.7A CN202110610691A CN113254385A CN 113254385 A CN113254385 A CN 113254385A CN 202110610691 A CN202110610691 A CN 202110610691A CN 113254385 A CN113254385 A CN 113254385A
- Authority
- CN
- China
- Prior art keywords
- chip
- model
- module chip
- data
- inference
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17318—Parallel communications techniques, e.g. gather, scatter, reduce, roadcast, multicast, all to all
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本文提供了一种网络结构、并行推理模型的编译加载方法及芯片系统,所述结构包括主控芯片、第一模块芯片和多个第二模块芯片;所述主控芯片与所述第一模块芯片连接,所述主控芯片用于向所述第一模块芯片传输任务指令和任务数据;所述第一模块芯片与所述第二模块芯片连接,所述第一模块芯片用于根据所述任务指令编译加载所述任务数据,生成分发数据,并将所述分发数据广播至所述第二模块芯片,以使所述第二模块芯片存储接收到的分发数据,本文能够提高Chiplet架构下并行推理效率,有效提升Chiplet架构的竞争力。
Description
技术领域
本文属于芯片技术领域,具体涉及一种网络结构、并行推理模型的编译加载方法及芯片系统。
背景技术
Chiplet(可称小芯片)为硅片级别的重用。从系统端出发,将复杂功能进行分解,然后开发出多种具有单一特定功能、可相互进行模块化组装的裸芯片,如实现数据存储、计算、信号处理、数据流管理等功能,并最终以此为基础,建立一个Chiplet的芯片网络。
人工智能(Artificial Intelligence,简称AI)相关的Chiplet系统通常由Host和多个Chiplet构成,Host负责下发任务以及推理数据,Chiplet负责执行推理任务。并行深度学习推理通常有两个重要的步骤,即模型加载和模型推理。模型编译加载根据硬件信息将原始推理模型编译为硬件相关的可执行模型,并且将可执行模型加载到所有的Chiplet的内存中;模型推理是指在所有Chiplet上使用可执行模型对数据进行分类和识别。
随着研究的不断深入,目前的推理模型越来越复杂,参数也越来越多,这样也带来了并行推理中模型加载的效率问题。通常并行推理模型编译加载的方式有两种,一种是Host上面根据Chiplet的硬件信息对原始模型进行预编译,然后将编译后模型传输到Chiplet上;另一种是Host将原始模型传输到Chiplet上,在Chiplet上加载原始模型到内存中,并且编译成硬件相关的可执行模型。这两种方式的问题是,Host通常有多任务处理,并且和Chiplet的硬件结构不一样,因此可能会影响编译效率;Chiplet上编译模型的话,会受Chiplet上CPU性能的影响,特别是模型很大时,将会显著影响效率,因此如何提高Chiplet架构下的并行推理效率成为目前亟需解决的技术问题。
发明内容
针对现有技术的上述问题,本文的目的在于,提供一种网络结构、并行推理模型的编译加载方法及芯片系统,能够提高Chiplet架构下的并行推理效率。
具体地,本文提供一种网络结构,所述结构包括主控芯片、第一模块芯片和多个第二模块芯片;
所述主控芯片与所述第一模块芯片连接,所述主控芯片用于向所述第一模块芯片传输任务指令和任务数据;
所述第一模块芯片与所述第二模块芯片连接,所述第一模块芯片用于根据所述任务指令编译加载所述任务数据,生成分发数据,并将所述分发数据广播至所述第二模块芯片,以使所述第二模块芯片存储接收到的分发数据。
进一步地,所述第一模块芯片包括第一控制单元、第一计算单元和第一存储单元;
所述第二模块芯片包括第二控制单元、第二计算单元和第二存储单元;
所述第一控制单元的性能大于所述第二控制单元的性能,所述第一计算单元的计算性能大于所述第二计算单元的计算性能,所述第一存储单元的存储量大于所述第二存储单元的存储量。
作为可选地,所述第一模块芯片还用于存储所述分发数据。
进一步地,所述任务数据包括原始推理模型和/或推理数据;
当所述任务数据为所述原始推理模型时,所述第一模块芯片用于编译加载所述原始推理模型,生成与所述第二模块芯片对应的可执行模型,并将所述可执行模型广播至所述第二模块芯片;
当所述任务数据为推理数据时,所述第一模块芯片用于将所述推理数据进行第一处理,并将处理后的推理数据分发至所述第二模块芯片;接收所述第二模块芯片根据所述推理数据的推理结果,并对所述推理结果进行第二处理,将处理后的推理结果返回给所述主控芯片。
作为优选地,所述第一模块芯片和所述第二模块芯片均为Chiplet。
另一方面,本文还提供一种并行推理模型的编译加载方法,所述方法包括:
接收主控芯片传输的原始推理模型;
根据第二模块芯片的硬件信息,对所述原始推理模型进行编译得到针对不同第二模块芯片的可执行模型;
将所述可执行模型广播至对应的第二模块芯片中。
进一步地,所述根据所述第二模块芯片的硬件信息,对所述原始推理模型进行编译得到针对不同第二模块芯片的可执行模型,之后还包括:
存储所述原始推理模型和所述可执行模型;
相应地,所述接收所述原始推理模型,之后还包括:
判断是否存储有所述原始推理模型;
若存储有所述原始推理模型,则提取与所述原始推理模型对应的可执行模型,并将所述可执行模型广播至对应的第二模块芯片中。
另一方面,本文还提供一种并行推理执行数据的处理方法,所述方法包括:
接收主控芯片传输的推理数据和数据处理脚本,所述脚本包括第一脚本和第二脚本;
根据所述第一脚本,对所述推理数据进行第一处理,并将处理后的推理数据分发至第二模块芯片;
接收所述第二模块芯片针对所述推理数据的推理结果;
根据所述第二脚本,对所述推理结果进行第二处理,并将处理后的推理结果返回给所述主控芯片。
另一方面,本文还提供一种芯片系统,所述芯片系统包括上述所述的网络结构。
最后,本文还提供一种设备,所述设备包括上述所述的网络结构。
采用上述技术方案,本文所述一种网络结构、并行推理模型的编译加载方法及芯片系统,所述结构包括主控芯片、第一模块芯片和多个第二模块芯片;所述主控芯片与所述第一模块芯片连接,所述主控芯片用于向所述第一模块芯片传输任务指令和任务数据;所述第一模块芯片与所述第二模块芯片连接,所述第一模块芯片用于根据所述任务指令编译加载所述任务数据,生成分发数据,并将所述分发数据广播至所述第二模块芯片,以使所述第二模块芯片存储接收到的分发数据,本文能够提高Chiplet架构下并行推理效率,有效提升Chiplet架构的竞争力。
为让本文的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本文实施例提供的网络结构的结构示意图;
图2示出了本文实施例中网络结构编译加载推理模型的流程示意图;
图3示出了本文实施例中网络结构推理数据处理流程示意图;
图4示出了本文实施例中并行推理模型的编译加载方法的步骤示意图;
图5示出了本文实施例中并行推理模型的编译加载方法的另一步骤示意图;
图6示出了本文实施例中并行推理模型的编译加载方法的步骤示意图;
图7示出了本文实施例中并行推理执行数据的处理方法的步骤示意图;
图8示出了本文实施例中一种设备的结构示意图。
附图符号说明:
10、主控芯片;
20、第一模块芯片;
30、第二模块芯片;
802、计算机设备;
804、处理器;
806、存储器;
808、驱动机构;
810、输入/输出模块;
812、输入设备;
814、输出设备;
816、呈现设备;
818、图形用户接口;
820、网络接口;
822、通信链路;
824、通信总线。
具体实施方式
下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。
需要说明的是,本文的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本文的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本说明书之前,先对文中的名词进行解释:
Chiplet,一种小芯片概念,通过异构集成系统方案,不同的组件可以在独立的裸片上进行芯片设计和实现,其中不同的裸片可以选择不同的工艺节点制造。
在小芯片(Chiplet)系统中,由Host 和多个Chiplet构成,Host负责下发任务以及推理数据,Chiplet负责执行推理任务,模型编译加载根据硬件信息将原始推理模型编译为硬件相关的可执行模型,并且将可执行模型加载到所有的Chiplet的内存中;模型推理是指在所有Chiplet上使用可执行模型对数据进行分类和识别,但是目前的推理模型越来越复杂,参数也越来越多,这样也带来了并行推理中模型加载的效率问题。
为了解决上述问题,本说明书实施例提供一种网络结构,所述网络结构通过设置单独进行模型编译的Chiplet,并将编译完成的可执行模型广播至相应的进行模型推理的Chiplet中,从而减少了Host的处理负荷以及执行模型推理任务的Chiplet的性能要求。
具体地,如图1所示,所述网络结构包括:主控芯片10、第一模块芯片20和多个第二模块芯片30;所述主控芯片10与所述第一模块芯片20连接,所述主控芯片10用于向所述第一模块芯片20传输任务指令和任务数据;所述第一模块芯片20与所述第二模块芯片30连接,所述第一模块芯片20用于根据所述任务指令编译加载所述任务数据,生成分发数据,并将所述分发数据广播至所述第二模块芯片30,以使所述第二模块芯片30存储接收到的分发数据。
可以理解为,所述主控芯片10为Host,其作用只是进行任务指令和任务数据的传输,这样在进行多任务处理时,也能保证任务传输的效率,避免了现有技术中还需要进行模型编译的过程,提高了任务传输的效率。
所述第一模块芯片20和所述第二模块芯片30均可以为Chiplet(小芯片),其中所述第一模块芯片20和所述第二模块芯片30有相同的硬件组成,即都可以进行相应的模型编码加载和推理的功能,但是在本说明书实施例中,第一模块芯片20可以进行模型编译加载,并将编译后的模型发送给所述第二模型芯片,从而实现模型编译和执行的分开执行,提高了推理任务的执行效率。
在一些其他实施例中,所述第二模块芯片30可以根据自身的硬件配置接收不同的推理模型和推理数据,然后对数据进行相应的处理和识别,所述第二模块芯片30具体的功能设置在本说明书不做限定。
在本说明书实施例中,所述第一模型芯片为一个小芯片,这样通过该第一模型芯片与全部的第二模型芯片连接,并接收来自所述主控芯片10的任务指令和任务数据,这样可以提高数据处理的一致性和效率。
其中,所述第一模块芯片20包括第一控制单元(CPU)、第一计算单元和第一存储单元;所述第二模块芯片30包括第二控制单元(CPU)、第二计算单元和第二存储单元;所述第一控制单元的性能大于所述第二控制单元的性能,所述第一计算单元的计算性能大于所述第二计算单元的计算性能,所述第一存储单元的存储量大于所述第二存储单元的存储量。
可以理解为,所述第一模块芯片20和所述第二模块芯片30具有相同的硬件结构,但是第一模块芯片20相对于第二模块芯片30,CPU性能更高,计算能力更强,内存更大,从而拥有更大的存储空间。换句话说,所述第一模块芯片20可以为超级Chiplet和常规Chiplet。这样所述第一模块芯片20在进行推理模型编译时可以有更高的效率和速度,同时常规硬件设置的第二模块芯片30也可以实现单独的模型推理任务,避免了性能的过剩,提高了整个系统工作的稳定性和可靠性。
其中,所述第一模块芯片20和所述主控芯片10之间可以通过包含不限于PCIE(Peripheral Component Interconnect Express,高速串行计算机扩展总线标准)、USB等方式连接,这样可以保证所述第一模块芯片20和所述主控芯片10之间实现高带宽传输,提高了原始推理模型以及其他任务数据传输的速度和传输性能。另外所述第一模块芯片20和所述第二模块芯片30可以选择直连的方式,这样可以避免数据在传输中丢失的概率,提高数据传输的稳定性和安全性,在一些其他实施例中,所各个模型芯片之间的连接方式还可以有其他的方式,在本说明书不做限定。
在一些其他实施例中,由于随着推理模型越来越复杂,参数也越来越多,在多任务的情况下,对第一模型芯片进行模型编译的要求就越来越高,必然会增加是第一模型芯片的设计和封装成本,为了降低所述第一模块芯片20的制造成本,所述第一模块芯片20可以为分布式设置,即设置多个第一模块芯片20,所有所述第一模块芯片20呈分布式设置,并保持通信连接,从而实现数据同步更新,每个所述第一模块芯片20均为所有的第二模块芯片30连接,每个所述第一模块芯片20均能实现推理模型的编译和广播发放,这样在出现多任务时,所述主控芯片10可以选择多个第一模块芯片20同时进行模型编译和发放,避免了仅有一个第一模块芯片20执行编译工作而需要更高的性能要求。分布式的设置降低了单个第一模块芯片20的性能要求,从而降低了单个第一模块芯片20的设计和封装成本,提高了整个芯片系统的竞争力。
在本说明书实施例中,所述任务数据包括原始推理模型和/或推理数据。
相应地,如图2所示,当所述任务数据为所述原始推理模型时,所述第一模块芯片20用于编译加载所述原始推理模型,生成与所述第二模块芯片30对应的可执行模型,并将所述可执行模型广播至所述第二模块芯片30;
如图3所示,当所述任务数据为推理数据时,所述第一模块芯片20用于将所述推理数据进行第一处理,并将处理后的推理数据分发至所述第二模块芯片30;接收所述第二模块芯片30根据所述推理数据的推理结果,并对所述推理结果进行第二处理,将处理后的推理结果返回给所述主控芯片10。
可以理解为,所述第一模块芯片20可以实现原始推理模型编译和推理数据的处理功能,通过所述第一模块芯片20分担更多的推理任务,提高了整个系统的推理任务处理效率。
其中,当所述任务数据为原始推理模型时,所述第一模块芯片20还可以存储所述原始推理模型和与所述原始推理模型编译生成的可执行模型,这样可以在后续出现该原始推理模型再次传输给所述第一模块芯片20时,所述第一模块芯片20可以直接将存储的可执行模型广播至所述第二模块芯片30,避免了重复编译,提高了推理任务的效率,同时也降低了功耗。
另外,当所述任务数据为推理数据时,所述第一处理即可前处理,所述第二处理即为后处理,所述第一模块芯片20通过对主控芯片10的推理数据和所述第二模块芯片30的推理结果进行处理,实现数据的准确快速的收发,降低了所述主控芯片10和所述第二模块芯片30数据处理的复杂度,避免了二者性能消耗过大;同时拥有更大CPU性能和计算性能的第一模块芯片20,可以实现更快的数据处理功能,从而提高了数据处理的效率和速度。
因此,通过本说明书提供的一种网络结构,通过设置主控芯片10、第一模块芯片20和多个第二模块芯片30;所述主控芯片10与所述第一模块芯片20连接,所述主控芯片10用于向所述第一模块芯片20传输任务指令和任务数据;所述第一模块芯片20与所述第二模块芯片30连接,所述第一模块芯片20用于根据所述任务指令编译加载所述任务数据,生成分发数据,并将所述分发数据广播至所述第二模块芯片30,以使所述第二模块芯片30存储接收到的分发数据,本文能够提高Chiplet架构下并行推理效率,有效提升Chiplet架构的竞争力。
在上述提供的网络结构的基础上,本说明书实施例还提供并行推理模型的编译加载方法,所述方法可以实现并行推理中原始推理模型的快速编译加载,并及时广播至其他Chiplet中,以实现推理模型的执行,比如对数据的分类和识别等等。
具体地,如图4所示,是本文实施例提供的一种并行推理模型的编译加载方法的步骤示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。具体的如图4所示,所述方法可以包括:
S101:接收主控芯片10传输的原始推理模型;
S102:根据第二模块芯片30的硬件信息,对所述原始推理模型进行编译得到针对不同第二模块芯片30的可执行模型;
S103:将所述可执行模型广播至对应的第二模块芯片30中。
可以理解为,所述方法的执行主体为第一模块芯片20,所述主控芯片10(Host)向所述第一模块芯片20传输原始推理模型,所述第一模块芯片20可以根据第二模块芯片30的硬件信息对接收到的原始推理模型进行编译,从而得到可执行模型,进而广播至相应的第二模块芯片30,这样所述第二模块芯片30就能根据接收到的可执行模块对推理数据进行处理,比如分类识别等。本文通过设置性能更强大的第一模块芯片20实现对原始推理模型的编译,提高了原始推理模型编译的效率。
在本说明书实施例中,所述根据所述第二模块芯片30的硬件信息,对所述原始推理模型进行编译得到针对不同第二模块芯片30的可执行模型,之后还包括:
存储所述原始推理模型和所述可执行模型。
这样可以将处理过的历史原始推理模型及相应的可执行模型保存下来,在后续接收到相同的原始推理模型时就无需重新编译了,相应地,如图5所示,所述接收主控芯片10传输的原始推理模型,之后还包括一下步骤为:
S201:判断是否存储有所述原始推理模型;
S202:若存储有所述原始推理模型,则提取与所述原始推理模型对应的可执行模型,并将所述可执行模型广播至对应的第二模块芯片30中。
当所述第一模块芯片20中没有存储所述原始推理模型时,则可以对所述原始推力模型进行编译加载,然后将编译生成的可执行模型广播至所述第二模块芯片30中。
在实际工作中,如图6所示,所述第一模块芯片20可以为超级Chiplet,所述第二模块芯片30为N个,表示为Chiplet1~N,则推理模型编译加载的步骤可以为:
S301:Host往超级Chiplet上传输原始推理模型;
S302:超级Chiplet编译原始推理模型,得到可执行模型并且加载到内存中,该步骤中超级Chiplet还可以缓存已经编译好的可执行模型,如果发现已经缓存好该可执行模型,则直接跳过编译过程。
S303:超级Chiplet执行广播操作将可执行模型广播到Chiplet1~N,Chiplet1~N各自将可执行模型加载到内存中,并完成相应的推理任务。
本说明书提供新的Chiplet结构,在执行上述提供的编译加载方法时,相比普通Chiplet系统的加载编译方式,该方法将极大提升加载编译的效率。
在上述提供的网络结构基础上,本说明书实施例还提供一种并行推理执行数据的处理方法,所述方法可以提高并行推理数据处理的效率,作为可选地,如图7所示,所述方法包括以下步骤:
S401:接收主控芯片10传输的推理数据和数据处理脚本,所述脚本包括第一脚本和第二脚本;
S402:根据所述第一脚本,对所述推理数据进行第一处理,并将处理后的推理数据分发至第二模块芯片30;
S403:接收所述第二模块芯片30针对所述推理数据的推理结果;
S404:根据所述第二脚本,对所述推理结果进行第二处理,并将处理后的推理结果返回给所述主控芯片10。
可以理解为,所述方法的执行主体为第一模块芯片20,通过接收所述主控芯片10前后处理的脚本文件,可以承担所述主控芯片10或所述第二模块芯片30的部分数据处理功能,性能更强大的第一模块芯片20可以实现更快更有效率的数据处理,示例性地,1)Host传输前后处理脚本到超级Chiplet上;2)Host传输推理数据到超级Chiplet上;3)超级Chiplet对推理数据统一做前处理;4)超级Chiplet分发推理数据到Chiplet1~N上;5)推理完成后,Chiplet1~N上推理结果汇聚到超级Chiplet;6)超级Chiplet上对汇聚的结果进行后处理;7)超级Chiplet将处理后结果返回给Host,本文通过设置超级Chiplet承担数据的前后处理功能,避免了单个芯片更大的性能要求(推理数据前后处理功能),从而在提高数据处理效率的基础上,降低了主控芯片10和第二模块芯片30的性能消耗,降低了整个系统的配置成本,从而提高了Chiplet系统的竞争力。
基于同一发明构思,本说明书实施例还提供一种芯片系统,即Chiplet系统,所述芯片系统包括上述提供的网络结构,同时所述芯片系统在进行推理任务时,通过上述提供的方法来完成,从而提高了并行推理的场景下的处理效率。
进一步,如图8所示,为本文实施例提供的一种设备,所述设备可以包括上述提供的网络结构,作为可选地,所述计算机设备802可以包括一个或多个处理器804,诸如一个或多个中央处理单元(CPU),每个处理单元可以实现一个或多个硬件线程。计算机设备802还可以包括任何存储器806,其用于存储诸如代码、设置、数据等之类的任何种类的信息。非限制性的,比如,存储器806可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备802的固定或可移除部件。在一种情况下,当处理器804执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备802可以执行相关联指令的任一操作。计算机设备802还包括用于与任何存储器交互的一个或多个驱动机构808,诸如硬盘驱动机构、光盘驱动机构等。
计算机设备802还可以包括输入/输出模块810(I/O),其用于接收各种输入(经由输入设备812)和用于提供各种输出(经由输出设备814))。一个具体输出机构可以包括呈现设备816和相关联的图形用户接口(GUI)818。在其他实施例中,还可以不包括输入/输出模块810(I/O)、输入设备812以及输出设备814,仅作为网络中的一台计算机设备。计算机设备802还可以包括一个或多个网络接口820,其用于经由一个或多个通信链路822与其他设备交换数据。一个或多个通信总线824将上文所描述的部件耦合在一起。
通信链路822可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路822可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
对应于图4-图7中的方法,本文实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法的步骤。
本文实施例还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行如图4至图7所示的方法。
应理解,在本文的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本文实施例的实施过程构成任何限定。
还应理解,在本文实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本文的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本文所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本文实施例方案的目的。
另外,在本文各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本文的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本文各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本文中应用了具体实施例对本文的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本文的方法及其核心思想;同时,对于本领域的一般技术人员,依据本文的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本文的限制。
Claims (10)
1.一种网络结构,其特征在于,所述结构包括主控芯片、第一模块芯片和多个第二模块芯片;
所述主控芯片与所述第一模块芯片连接,所述主控芯片用于向所述第一模块芯片传输任务指令和任务数据;
所述第一模块芯片与所述第二模块芯片连接,所述第一模块芯片用于根据所述任务指令编译加载所述任务数据,生成分发数据,并将所述分发数据广播至所述第二模块芯片,以使所述第二模块芯片存储接收到的分发数据。
2.根据权利要求1所述的网络结构,其特征在于,
所述第一模块芯片包括第一控制单元、第一计算单元和第一存储单元;
所述第二模块芯片包括第二控制单元、第二计算单元和第二存储单元;
所述第一控制单元的性能大于所述第二控制单元的性能,所述第一计算单元的计算性能大于所述第二计算单元的计算性能,所述第一存储单元的存储量大于所述第二存储单元的存储量。
3.根据权利要求1所述的网络结构,其特征在于,所述第一模块芯片还用于存储所述分发数据。
4.根据权利要求1所述的网络结构,其特征在于,所述任务数据包括原始推理模型和/或推理数据;
当所述任务数据为所述原始推理模型时,所述第一模块芯片用于编译加载所述原始推理模型,生成与所述第二模块芯片对应的可执行模型,并将所述可执行模型广播至所述第二模块芯片;
当所述任务数据为推理数据时,所述第一模块芯片用于将所述推理数据进行第一处理,并将处理后的推理数据分发至所述第二模块芯片;接收所述第二模块芯片根据所述推理数据的推理结果,并对所述推理结果进行第二处理,将处理后的推理结果返回给所述主控芯片。
5.根据权利要求1所述的网络结构,其特征在于,所述第一模块芯片和所述第二模块芯片均为Chiplet。
6.一种并行推理模型的编译加载方法,其特征在于,所述方法包括:
接收主控芯片传输的原始推理模型;
根据第二模块芯片的硬件信息,对所述原始推理模型进行编译得到针对不同第二模块芯片的可执行模型;
将所述可执行模型广播至对应的第二模块芯片中。
7.根据权利要求6所述的并行推理模型的编译加载的方法,其特征在于,所述根据所述第二模块芯片的硬件信息,对所述原始推理模型进行编译得到针对不同第二模块芯片的可执行模型,之后还包括:存储所述原始推理模型和所述可执行模型;
相应地,所述接收主控芯片传输的原始推理模型,之后还包括:
判断是否存储有所述原始推理模型;
若存储有所述原始推理模型,则提取与所述原始推理模型对应的可执行模型,并将所述可执行模型广播至对应的第二模块芯片中。
8.一种并行推理执行数据的处理方法,其特征在于,所述方法包括:
接收主控芯片传输的推理数据和数据处理脚本,所述脚本包括第一脚本和第二脚本;
根据所述第一脚本,对所述推理数据进行第一处理,并将处理后的推理数据分发至第二模块芯片;
接收所述第二模块芯片针对所述推理数据的推理结果;
根据所述第二脚本,对所述推理结果进行第二处理,并将处理后的推理结果返回给所述主控芯片。
9.一种芯片系统,其特征在于,所述芯片系统包括权利要求1至5任一项所述的网络结构。
10.一种设备,其特征在于,所述设备包括权利要求1至5任一项所述的网络结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110610691.7A CN113254385A (zh) | 2021-06-02 | 2021-06-02 | 一种网络结构、并行推理模型的编译加载方法及芯片系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110610691.7A CN113254385A (zh) | 2021-06-02 | 2021-06-02 | 一种网络结构、并行推理模型的编译加载方法及芯片系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113254385A true CN113254385A (zh) | 2021-08-13 |
Family
ID=77185912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110610691.7A Pending CN113254385A (zh) | 2021-06-02 | 2021-06-02 | 一种网络结构、并行推理模型的编译加载方法及芯片系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113254385A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115314159A (zh) * | 2022-08-02 | 2022-11-08 | 成都爱旗科技有限公司 | 一种芯片间数据传输方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019113799A1 (zh) * | 2017-12-12 | 2019-06-20 | 深圳深微创芯科技有限公司 | 驱动芯片、触摸显示装置、以及电子设备 |
CN110045960A (zh) * | 2018-01-16 | 2019-07-23 | 腾讯科技(深圳)有限公司 | 基于芯片的指令集处理方法、装置及存储介质 |
CN111274193A (zh) * | 2018-12-05 | 2020-06-12 | 锐迪科(重庆)微电子科技有限公司 | 数据处理装置及方法 |
CN112130987A (zh) * | 2019-06-25 | 2020-12-25 | 杭州海康消防科技有限公司 | 数据处理方法、装置、主控芯片、从属芯片及系统 |
CN112585915A (zh) * | 2019-07-30 | 2021-03-30 | 阿里巴巴集团控股有限公司 | 控制网络系统中数据传输的装置和方法 |
-
2021
- 2021-06-02 CN CN202110610691.7A patent/CN113254385A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019113799A1 (zh) * | 2017-12-12 | 2019-06-20 | 深圳深微创芯科技有限公司 | 驱动芯片、触摸显示装置、以及电子设备 |
CN110045960A (zh) * | 2018-01-16 | 2019-07-23 | 腾讯科技(深圳)有限公司 | 基于芯片的指令集处理方法、装置及存储介质 |
CN111274193A (zh) * | 2018-12-05 | 2020-06-12 | 锐迪科(重庆)微电子科技有限公司 | 数据处理装置及方法 |
CN112130987A (zh) * | 2019-06-25 | 2020-12-25 | 杭州海康消防科技有限公司 | 数据处理方法、装置、主控芯片、从属芯片及系统 |
CN112585915A (zh) * | 2019-07-30 | 2021-03-30 | 阿里巴巴集团控股有限公司 | 控制网络系统中数据传输的装置和方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115314159A (zh) * | 2022-08-02 | 2022-11-08 | 成都爱旗科技有限公司 | 一种芯片间数据传输方法及装置 |
CN115314159B (zh) * | 2022-08-02 | 2023-08-04 | 成都爱旗科技有限公司 | 一种芯片间数据传输方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109032078B (zh) | 机器学习装置、控制装置以及计算机可读介质 | |
US8671418B2 (en) | Environment modification in a hybrid node computing environment | |
CN105808334B (zh) | 一种基于资源重用的MapReduce短作业优化系统及方法 | |
CN110188135A (zh) | 文件生成方法及设备 | |
DE112011101469T5 (de) | Kompilieren von Software für ein hierarchisches verteiltes Verarbeitungssystem | |
DE102020108374A1 (de) | Verfahren und vorrichtung zur laufzeitmehrfachplanung von software, die in einem heterogenen system ausgeführt wird | |
CN103649923B (zh) | 一种numa系统内存镜像配置方法、解除方法、系统和主节点 | |
CN112035238A (zh) | 任务调度处理方法、装置、集群系统及可读存储介质 | |
CN113312283B (zh) | 一种基于fpga加速的异构图学习系统 | |
Cheong et al. | SCARL: Attentive reinforcement learning-based scheduling in a multi-resource heterogeneous cluster | |
EP4332841A1 (en) | Method, system and apparatus for processing quantum computing task, and operating system | |
CN114237869B (zh) | 基于强化学习的Ray双层调度方法、装置和电子设备 | |
JP2013117790A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US8938634B2 (en) | User generated data center power savings | |
EP2071457A1 (en) | Device and method for automatically optimizing composite applications having orchestrated activities | |
CN113254385A (zh) | 一种网络结构、并行推理模型的编译加载方法及芯片系统 | |
CN111258950B (zh) | 原子访存方法、存储介质、计算机设备、装置和系统 | |
CN104040506A (zh) | 均衡使用共享的存储器系统的多个请求器的带宽 | |
US20150052538A1 (en) | Parallel processing system | |
CN115600664B (zh) | 算子处理方法、电子设备及存储介质 | |
CN110489151A (zh) | 一种终端升级方法及系统 | |
US10162913B2 (en) | Simulation device and simulation method therefor | |
CN116643854A (zh) | 一种服务编排方法、装置、流程控制器及任务处理器 | |
CN115904681A (zh) | 任务调度方法、装置及相关产品 | |
CN111258653B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210813 |
|
RJ01 | Rejection of invention patent application after publication |