CN111813526A - 用于联邦学习的异构处理***、处理器及任务处理方法 - Google Patents
用于联邦学习的异构处理***、处理器及任务处理方法 Download PDFInfo
- Publication number
- CN111813526A CN111813526A CN202010661053.3A CN202010661053A CN111813526A CN 111813526 A CN111813526 A CN 111813526A CN 202010661053 A CN202010661053 A CN 202010661053A CN 111813526 A CN111813526 A CN 111813526A
- Authority
- CN
- China
- Prior art keywords
- processing
- task
- data
- processor
- computing architecture
- 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
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
本说明书的实施例提供一种异构处理***。异构处理***包括主处理设备以及从处理设备。从处理设备包括接口模块、任务管理模块和并行计算架构。并行计算架构包括由多个处理单元组成的分层结构,各个处理单元是具备独立任务处理能力的最小处理单元。接口模块从主处理设备接收任务处理源数据和任务配置数据。任务管理模块根据任务配置数据,将任务处理源数据分发给各个处理单元并行处理,得到任务处理结果数据并提供给主处理设备。利用该异构处理***,可以实现高效的任务并行处理。该异构处理***适合应用于联邦学习场景。
Description
技术领域
本说明书实施例通常涉及异构计算领域,尤其涉及用于联邦学习的异构处理***、处理器及任务处理方法。
背景技术
异构计算(Heterogeneous computer)技术能高效地获取高性能计算能力、可扩展性好、计算资源利用率高、发展潜力巨大,目前已经成为并行/分布计算领域的热点技术。异构计算主要是指使用不同体系架构的计算单元组成***的计算方式。
常见的计算单元包括CPU、GPU、DSP、ASIC、FPGA等。专用计算单元虽然工作频率较低,但是具有更多的并行计算能力,总体性能/功耗比都很高,适合应用于高性能大数据处理领域。CPU的设计让其比较擅长处理不规则数据结构和不可预测的存取模式,这类程序任务具有复杂的指令调用、循环、分支、逻辑判断以及执行等步骤。而FPGA等计算单元擅长处理规则数据结构和可预测存取模式,利用异构计算可以实现整体性能最佳化。
采用CPU+GPU异构架构的高性能计算***的能耗巨大,使用更低的功耗来实现异构计算成为高性能计算发展亟待解决的问题。
发明内容
鉴于上述,本说明书的实施例提供一种用于联邦学习的异构处理***、处理器以及任务处理方法。利用该异构处理***、处理器和任务处理方法,可以实现高效的任务并行处理。
根据本说明书的实施例的一个方面,提供一种第一处理器,包括:接口模块,被配置为从外部设备接收任务处理源数据和任务配置数据,以及向外部设备发送任务处理结果数据;并行计算架构,所述并行计算架构包括由多个处理单元组成的分层结构,各个处理单元是具备独立任务处理能力的最小处理单元;以及任务管理模块,被配置为根据所述任务配置数据,将所述任务处理源数据分发给所述并行计算架构中的各个处理单元来并行处理,得到任务处理结果数据,以及将所述任务处理结果数据提供给所述外部设备。
可选地,在上述方面的一个示例中,所述分层架构可以是嵌套式分层结构。
可选地,在上述方面的一个示例中,所述并行计算架构的嵌套式分层结构可以是可配置的嵌套式分层结构。
可选地,在上述方面的一个示例中,所述并行计算架构的嵌套式分层结构可以根据任务处理算法以及第一处理器的内部计算资源来配置。
可选地,在上述方面的一个示例中,各个处理单元可以采用运算流水线设计。
可选地,在上述方面的一个示例中,所述运算流水线的运算级数可以根据所述并行计算架构的分层结构的层次以及处理单元的个数来配置。
可选地,在上述方面的一个示例中,各个处理单元的运算流水线的每级运算具备循环运算功能。
可选地,在上述方面的一个示例中,所述接口模块包括高速接口模块。
可选地,在上述方面的一个示例中,所述高速接口模块采用DMA方式或PIO方式进行数据传输。
可选地,在上述方面的一个示例中,所述并行计算架构的并行处理任务数是可配置的。
可选地,在上述方面的一个示例中,所述并行计算架构的单任务可支持最大数据量是可配置的。
可选地,在上述方面的一个示例中,所述第一处理器还可以包括:数据分发/合并模块,被配置为与所述任务管理模块一起将所述任务处理源数据分发给所述并行计算架构中的各个处理单元来并行处理,以及对各个处理单元的并行处理结果进行合并处理,得到任务处理结果数据。
可选地,在上述方面的一个示例中,所述数据分发/合并模块可以采用多层数据传输分层结构。
可选地,在上述方面的一个示例中,所述数据传输分层结构的层次可以是可配置的,和/或每层数据传输分层结构的数据通道数量可以是可配置的。
可选地,在上述方面的一个示例中,所述第一处理器与存储器可通信地连接,所述存储器被配置为存储从外部设备接收的任务处理源数据以及所述并行计算架构的任务处理结果数据。所述第一处理器还包括:数据读/写控制模块,被配置为控制针对所述存储器中的数据的读/写操作。
可选地,在上述方面的一个示例中,所述第一处理器还可以包括:***控制/监控模块,设置在所述接口模块与所述任务管理模块和所述并行计算架构之间,被配置为将所述接口模块所接收的任务配置数据提供给所述任务管理模块和所述并行计算架构,以及在线监控所述并行计算架构的任务处理状态。
可选地,在上述方面的一个示例中,所述并行计算架构的任务处理状态的在线监控可以通过寄存器读写的方式实现。
根据本说明书的实施例的另一方面,提供一种处理设备,包括:如上所述的第一处理器;以及存储器,与所述第一处理器可通信地连接,被配置为存储从外部设备接收的任务处理源数据以及所述并行计算架构的任务处理结果数据。
根据本说明书的实施例的另一方面,提供一种异构处理***,包括:主处理设备,包括主处理器;以及从处理设备,包括如上所述的第一处理器,其中,所述主处理设备被配置为将任务处理源数据和任务配置数据发送给所述从处理设备,以及从所述从处理设备接收任务处理结果数据。
可选地,在上述方面的一个示例中,所述异构处理***应用于联邦学习。
可选地,在上述方面的一个示例中,提供一种任务处理方法,所述任务处理方法由处理设备中的第一处理器执行,所述第一处理器包括接口模块、任务管理模块和并行计算架构,所述并行计算架构包括由多个处理单元组成的分层结构,各个处理单元是具备独立任务处理能力的最小处理单元,所述任务处理方法包括:经由所述接口模块从外部设备接收任务处理源数据和任务配置数据;经由所述任务管理模块根据所述任务配置数据,将所述任务处理源数据分发给所述并行计算架构中的各个处理单元;经由所述并行计算架构的各个处理单元执行并行处理来得到任务处理结果数据并提供给所述任务管理模块;以及经由所述任务管理模块将所述任务处理结果数据提供给所述外部设备。
可选地,在上述方面的一个示例中,所述并行计算架构的分层结构是嵌套式分层结构,所述任务处理方法还可以包括:根据任务处理算法以及所述第一处理器的内部计算资源,配置所述并行计算架构的嵌套式分层结构。
可选地,在上述方面的一个示例中,各个处理单元采用运算流水线设计,所述任务处理方法还包括:根据所述并行计算架构的嵌套式分层结构的层次以及处理单元的个数,配置所述运算流水线的运算级数。
可选地,在上述方面的一个示例中,所述第一处理器还包括数据分发/合并模块,经由所述任务管理模块根据所述任务配置数据,将所述任务处理源数据分发给所述并行计算架构中的各个处理单元包括:经由所述任务管理模块与所述数据分发/合并模块一起将所述任务处理源数据分发给所述并行计算架构中的各个处理单元,经由所述并行计算架构的各个处理单元执行并行处理来得到任务处理结果数据包括:经由所述并行计算架构的各个处理单元和所述数据分发/合并模块一起执行并行处理来得到任务处理结果数据。
可选地,在上述方面的一个示例中,所述处理设备还包括存储器,所述任务处理方法还可以包括:将从外部设备接收的任务处理源数据存储到所述存储器中,以供所述任务管理模块读取来执行并行计算;和/或将所述并行计算架构的任务处理结果数据存储到所述存储器中,以供所述任务管理模块读取来提供给所述外部设备。
可选地,在上述方面的一个示例中,所述第一处理器还包括设置在所述接口模块与所述任务管理模块和所述并行计算架构之间的***控制/监控模块,所述任务处理方法还包括:将所述接口模块所接收的任务配置数据提供给所述任务管理模块和所述并行计算架构;和/或在线监控所述并行计算架构的任务处理状态。
根据本说明书的实施例的另一方面,提供一种由异构处理***执行的任务处理方法,所述异构处理***包括主处理设备和从处理设备,所述主处理设备包括主处理器,以及所述从处理设备包括如上所述的第一处理器,所述任务处理方法包括:所述主处理设备将任务处理源数据和任务配置数据发送给所述从处理设备;以及所述从处理设备按照如上所述的任务处理方法执行任务处理来得到任务处理结果数据,并提供给所述主处理设备。
根据本说明书的实施例的另一方面,提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得机器执行如上所述的任务处理方法。
附图说明
通过参照下面的附图,可以实现对于本说明书内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了根据本说明书的实施例的异构处理***的示例架构示意图。
图2示出了根据本说明书的实施例的异构处理***执行的任务处理方法的流程图。
图3示出了根据本说明书的实施例的第一处理器的并行计算架构的示例示意图。
图4示出了根据本说明书的实施例的具有多层数据分发/合并机制的并行计算架构的示例示意图。
图5示出了根据本说明书的实施例的处理单元的运算流水线设计的示例示意图。
图6示出了根据本说明书的实施例的由从处理设备中的从处理器执行的任务处理方法的流程图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
在人工智能(Artificial Intelligence,AI)领域,联邦学习是很重要的机器学习框架。该机器学习框架可以在保证不同企业、机构或用户的数据安全性、私密性和合法性的前提下,实现双方数据的共享,例如,用于AI的训练和学习,从而打破数据孤岛限制。
数据是机器学习的基础,要保证不同企业或用户之间数据安全而私密地共享,则需要对数据进行多方安全计算处理。多方安全计算的示例可以包括同态加密运算。同态加密运算是一种高位宽、大整数的复杂数学运算,其计算量非常大,而且还涉及到对计算实时性和性能的要求,从而使得计算***对硬件处理器有很高的要求。
传统的单一CPU硬件***,所有的计算任务都交由CPU完成。上层通过软件代码的方式实现AI的训练算法或同态加密算法,其实质是将代码最终将转化为CPU计算指令,在CPU中一条条地串行执行。按照这种任务处理机制,任务处理并行度低,计算延迟高,计算效率低,无法满足AI应用场景中的计算性能需求。
此外,在联邦学习的背景下,针对AI的训练和学习,涉及到很多人工智能算法,这些算法同样具有高复杂度、高性能的计算力需求,从而从硬件层面上优化异构计算***,提升整体***的计算能力,成为亟待解决的问题。
在基于GPU或CPU+GPU的硬件***中,所有或大部分任务都在GPU中完成计算,GPU上的算法实现通过软件代码转化为GPU底层的硬件处理单元来完成计算(比如,DSP单元等)。这种硬件***架构能较大程度上提高计算力和任务并行度,但是由于GPU内部需要很多的计算单元,从而使得GPU的硬件功耗大。此外,GPU成本较高,由此导致硬件***的成本高。
FPGA是一种可编程设计的硬件芯片,具有高灵活性、高并行度和低延迟处理的特点。FPGA的内部可以定制化算法设计或控制逻辑,并且FPGA上的算法实现属于“硬件实现”,最终运行的状态是特定的电路结构,没有操作***和指令的概念,从而使得FPGA能够高度并行且快速地完成数据处理。
本说明书的实施例提供一种具有主处理设备和从处理设备的异构处理***,从处理设备中的从处理器具有新的并行计算架构,利用该并行计算架构,可以实现高并行处理且计算功耗低。在该异构处理***中,主处理设备将大部分算法任务下发给从处理设备,由从处理设备来负责算法任务处理。按照这种机制,利用从处理设备的高并行性,低延迟等特性,可以大大提升算法计算的性能,降低了任务处理延迟,同时提升了异构处理***的计算处理效率。此外,从处理设备的计算功耗和成本相对于GPU大大降低,从而可以大大降低异构处理***的功耗和成本。
下面将结合附图描述根据本说明书的实施例的异构处理***、处理器以及任务处理方法。
图1示出了根据本说明书的实施例的异构处理***1的示例架构示意图。如图1所示,异构处理***1包括从处理设备10和主处理设备20。
主处理设备20包括主处理器21和主存储器22。此外,主处理器21具有接口模块23。主处理设备20负责异构处理***的整体***任务的控制和调度。从处理设备10负责实现处理任务(例如,算法任务)的并行处理。
主处理设备20和从处理设备10之间可以通过接口模块(例如,高速接口)进行数据传输和通讯,由此完成从处理设备10和主处理设备20之间的数据和信息交互。从处理设备10和主处理设备20之间传输的数据可以包括任务处理所需的源数据(下文中称为“任务处理源数据”)以及任务配置数据。两个处理设备之间的数据传输和通讯可以采用本地的实时高速通讯协议(比如,PCIE)而非远程通讯协议(如TCP/IP)来实现,这样能大幅度降低通讯延迟。在从处理设备10从主处理设备20接收到任务处理源数据和任务配置数据后,可以执行相应的并行处理来得到任务处理结果数据,并提供给主处理设备20,并经由主处理设备20输出给外部。
图2示出了根据本说明书的实施例的异构处理***执行的任务处理方法的流程图。
如图2所示,在块210中,从处理设备10和主处理设备20执行初始化处理过程。
在完成初始化处理后,在块215,主处理设备20通过主处理器21向从处理设备10下发处理任务(即,任务配置数据)和任务处理源数据。所述任务配置数据用于指示从处理设备10需要执行的任务的配置信息。所述任务处理源数据是任务算法处理时需要使用的数据。
在从处理设备10感知到主处理设备20下发的处理任务后,在块220,从处理设备10启动任务处理过程。在块225,判断当前是否执行多个处理任务。如果判断为当前执行多个处理任务,则在块230,从处理设备10并行处理多个处理任务,并且在块235,判断多处理任务是否完成。如果没有完成,则返回到块230继续执行并行处理。
如果判断为当前执行单个处理任务,则在块240,从处理设备10并行处理单个处理任务,并且在块245,判断单处理任务是否完成。如果没有完成,则返回到块240继续执行并行处理。
如果多处理任务或单处理任务都已经完成(250),则在块255,从处理设备10将任务处理结果数据发送给主处理设备20的主处理器,由主处理器提供给外部。
要说明的是,在从处理设备10的并行处理过程中,任务处理结果数据可以缓存在从处理设备10的存储器中,例如,缓存在从处理器110的缓存或者从处理设备的从存储器中。当从处理设备10上的所有任务处理都完成后,从处理设备10将任务处理结果数据一次性返回给主处理设备20。
在图1中示出的异构处理***框架中,可以支持多任务(Multi-Task)并行处理模式和单任务(Single-Task)并行处理模式。多任务并行处理模式是支持主处理设备20同时下发多个处理任务给从处理设备10,并且从处理设备10能够同时并行地执行这些处理任务。利用这种模式,可以实现不同任务算法之间的并行处理。单任务并行处理模式是指在单个任务算法内对多路数据执行并行处理。将单任务并行处理模式和多任务并行处理模式相结合,可以使得异构处理***真正实现高效计算。
如上参照图1和图2对根据本说明书的实施例的异构处理***进行了描述。下面将结合附图来更为详细地描述根据本说明书的实施例的从处理设备10的结构和操作。
回到图1,如图1所示,从处理设备10包括从处理器110(即,第一处理器)。从处理器110包括接口模块111、任务管理模块112和并行计算架构113。接口模块111被配置为(经由接口模块23)从主处理设备20接收任务处理源数据和任务配置数据,以进行任务并行处理。此外,接口模块111还被配置为在从处理设备10完成任务处理后,将任务处理结果数据发送给主处理设备20。
在本说明书中,接口模块111可以采用高速接口模块实现。可选地,所述高速接口模块可以采用DMA(direct memory access)方式或者PIO方式来与主处理设备20的接口模块23之间进行数据传输。所采用的DMA方式可以是高效DMA且支持双向DMA。即,支持主处理设备20中的主处理器直接访问从处理设备的存储器,也可以支持从处理设备10直接访问主处理设备的主存储器。
DMA是一种高效的数据传输机制。在实际工作时,可以在不需要主处理设备过多干预的情况下,将大量的待计算数据先从主存储器直接搬移到从处理设备的存储器(例如,从处理器内存)里的源数据空间(source memory)。然后,从处理设备再从本侧的源数据空间里取出来进行算法计算。待从处理设备计算完毕后,将结果数据写到从处理设备的存储器的结果数据空间(result memory)中缓存,同时告知主处理设备对应的任务已经计算完成,则主处理设备再次通过DMA方式从从处理设备的存储器的结果数据空间直接搬移到主存储器,由此完成一次算法任务的数据交互。
任务管理模块112被配置为根据任务配置数据,将任务处理源数据分发给并行计算架构113中的各个处理单元来并行处理,得到任务处理结果数据。在得到任务处理结果数据后,任务管理模块112将任务处理结果数据提供给主处理设备20中的主处理器21。
并行计算架构113是由多个处理单元组成的分层结构,各个处理单元是具备独立任务处理能力的最小处理单元。换言之,各个处理单元能够独立完成算法的全流程处理。可选地,在一个示例中,并行计算架构113可以采用嵌套式分层结构。
图3示出了根据本说明书的实施例的并行计算架构113的示例示意图。如图3所示,并行计算架构113采用多核心(Multi-Kernel)计算架构,该多核心计算架构是嵌套式分层计算架构。
在本说明书中,嵌套式分层计算架构包括多个计算层次,每个计算层次可以由多个处理单元(Kernel-Engine)、多个下级计算层次或者两者组合(即,下文中描述的下级引擎)构成。每个计算层次或每个处理单元都能够独立完成算法全流程处理。这里,处理单元是并行计算架构的最小组件单元,不能被进一步细分。
具体地,如图3所示,Multi-Kernel计算架构可以分为多层。第一层称为Die_Engine(DIE引擎层),其可以包括从处理器内部单独一个DIE下所有的下级引擎。在每个Die_Engine层中,可以细分为多个Kernel_Engine_Lvl1层(Kernel引擎层次1),Kernel_Engine_Lvll也可以称为第二层。接着,在每个第二层,可以细分为多个Kernel_Engine_Lvl2(Kernel引擎层次2),Kernel_Engine_Lv12也可以称为第三层。以此类推,第n+1层称之为Kernel_Engine_Lvln。由此可见,在本说明书中,并行计算架构中的每个分层结构可以包含多层下级子层,直到最终的下层子层中都是由处理单元(Kernel-Engine)组成并且不可进一步细分。
在本说明书中,并行计算架构113的嵌套式分层结构是可配置的。例如,在一个示例中,可以根据任务处理算法以及从处理器的内部计算资源来配置并行计算架构113的嵌套式分层结构,即,配置并行计算架构113的计算层次数量和每个计算层次的处理单元数量。例如,任务处理算法越复杂,则并行计算架构所包含的计算层次就越多。任务处理算法的复杂度与并行计算架构的计算层数之间不是线性关系。此外,由于计算层数太多则可能会在性能提升并不明显的情况下浪费从处理器的计算资源,从而计算层数也不是越多越好,通常采用3-6层。另外,所有计算层次的总处理单元的数目可以由从处理器的内部计算资源(从处理器的总芯片资源)决定。
在一个嵌套式分层结构的配置示例中,DIE引擎层(Die_Engine)可以为一次性配置数量,这个数量可以由从处理设备10所使用的从处理器型号内包含的DIE数量决定,后续无需再配。DIE引擎层下的每个计算分层的分层结构配置可以由上一分层来配置。例如,Kernel_Engine_Lvl1可以配置Kernel_Engine_Lvl2的数量。
要说明的是,在一个示例中,上述嵌套式分层结构的配置过程可以是在从处理设备(例如,FPGA芯片)设计时根据预定的任务处理算法来预先完成。在这种情况下,所涉及出的从处理设备可以应用于该预定的任务处理算法或者类似处理算法的任务处理。在另一示例中,上述嵌套式分层结构配置过程也可以是在从处理设备执行任务处理时实时完成。
利用上述嵌套式分层结构配置,在一个应用场景中包含不同种类或不同层次的任务处理算法时,可以通过对Multi-Kernel计算架构进行配置,例如,改变计算层次或处理引擎的具体设计以及参数配置,来满足不同算法的任务处理需求。
此外,在本说明书的实施例的并行计算架构中,还可以设置多层数据分发与合并机制。图4示出了根据本说明书的实施例的具有多层数据分发/合并机制的并行计算架构的示例示意图。
如图1中所示,从处理器110还可以包括设置在任务管理模块112和并行计算架构113之间的数据分发/合并模块114。数据分发/合并模块114包括成对的数据分发模块和数据合并模块。数据分发/合并模块114被配置为与任务管理模块112一起将任务处理源数据分发给并行计算架构113中的各个处理单元来并行处理,并且对各个处理单元的并行处理结果进行合并处理,得到任务处理结果数据。在本说明书的其它实施例中,从处理器110也可以不包括数据分发/合并模块114。
在本说明书中,数据分发/合并模块114可以采用多层数据传输分层结构。具体地,数据分发模块包括多级数据分发模块,以及数据合并模块包括多级数据合并模块。第一级数据分发模块连接多个第二级数据分发模块,第二级数据分发模块连接多个第三数据分发模块等等。数据合并模块的连接方式与数据分发模块的连接方式相反。
具体地,数据分发和合并机制可以分为多层,数据分发为“一进多出”,以及数据合并为“多进一出”。如图4所示,数据分发的第一层可以称为Data_Disp_DieEng,第二层称为Data_Disp_Lvl1,第三层称为Data_Disp_Lvl2,以此类推,第n+1层称为Data_Disp_Lvln。而数据合并的第一层称为Data_Merg_DieEng,第二层称为Data_Merg_Lvl1,第三层称为Data_Merg_Lvl2,以此类推,第n+1层称之为Data_Merg_Lvln。数据分发和数据合并中的层与层之间的关系为:针对数据分发,单个上层的数据分发模块将数据输出到多个数据通道,每个数据通道连接下层的数据分发模块,也就是说,单个上层的数据分发模块连接(驱动)多个下层的数据分发模块。针对数据合并,多个上层的数据合并模块将数据统一合并到单个下层的数据合并模块,层层递进,最终合并成单路数据(即,任务处理结果数据)并提供给任务管理模块112。
在本说明书的架构中,数据传输分层结构的层次是可配置的,并且每层的数据分发和数据合并的通道数量是可以灵活配置的,比如,8,16,32等,在实际应用中,通道数量的配置可以依据每层的处理单元(Kernel_Engine)数量来综合考虑。
利用上述多层数据分发/合并机制,在主处理设备20的主处理器所下发的单次处理任务数据量比较大时,例如,256MB,512MB等,数据分发模块可以将任务数据量平均分摊到并行计算架构内部的所有处理单元(Kernel_Engine)中并行计算,从而可以提升内部数据传输的效率,同时提升并行计算架构113的内部整体性能和主频。此外,利用上述多层数据分发和数据合并机制,可以适配多层的计算引擎数据交互。此外,由于数据分发和合并模块采用“轮训”机制设计,“分层”的设计可以降低“轮训”的数量和范围,从而可以提高多个处理单元之间的数据处理并行度,降低处理延迟。
此外,在本说明书中,各个处理单元(Kernel-Engine)可以采用运算流水线(PipeLine)设计。图5示出了根据本说明书的实施例的处理单元的运算流水线设计的示例示意图。
如图5所示,处理单元内部可以包含多级运算,每级运算可以完成多样的数学运算,如加减乘除等。每级运算之间通过Pipeline无缝连接在一起,使每一级运算之间都能同时并行处理。上一级计算好的结果暂存在存储器中,例如,从处理器内部的存储器中,而下一级运算则可以灵活选择不同的上级结果数据作为计算输入,如此多级连接在一起,从而完成非常复杂的算法运算。Pipeline的设计大大优化任务处理的并行性,同时简化单步计算中的复杂度,提升运算效率。
此外,在本说明书中,每个处理单元内的Pipeline运算级数是可以灵活配置的,例如,级数可以被配置为5,6和7等。在一个示例中,可以结合实际应用中的任务处理算法的复杂度来确定Pipeline运算级数。通常,越复杂的任务处理算法,所需要的运算级数越多,但是运算级数越多,单个处理单元所消耗的从处理器资源也越多。基于上述考虑,在一个示例中,可以根据并行计算架构的嵌套式分层结构的层次以及处理单元的个数来配置Pipeline运算级数。
此外,可选地,在一个示例中,各个处理单元的运算流水线的每级运算具备循环运算功能(feedback/cyclic operation),也可以称为反馈运算功能,即,运算完的运算结果可以反馈到同一级别的输入重新递归运算。所述循环运算的示例例如可以包括迭代运算和/或递归运算。利用这种设计,可以完成一些AI算法中包含的递归运算或迭代运算,从而提高处理单元的利用率和计算复杂度。
此外,在本说明书中,并行计算架构113的并行处理任务数是可配置的,例如,64,128,256等。这个配置参数的最大值可以不设上限。并行处理任务数的上限至少取决于下面两个因素。一个因素是从处理设备10侧的从处理设备的存储器容量大小,从处理设备的存储器容量大小决定了所有任务累加在一起的最大缓存数据量。另一个因素是单个任务所支持的最大处理数据量(batch size),单个任务所支持的最大处理数据量也是可以根据业务需要灵活配置的,例如,128Mb,256MB,512MB。当batch size被配置得比较大时,考虑受限于从处理设备的存储器容量大小,并行处理任务数就应该配置得小一些。反之,并行处理任务数就可以配置得大一些,但是,所有任务的数据量累加不能超过从处理设备的存储器容量的最大值。
此外,从处理器110还可以包括***控制/监控模块115。***控制/监控模块115设置在接口模块111与任务管理模块112和并行计算架构113之间,并且与接口模块111、任务管理模块112和并行计算架构113双向通信。***控制/监控模块115被配置为将接口模块111所接收的任务配置数据提供给任务管理模块112和并行计算架构113。此外,***控制/监控模块115还可以在线监控并行计算架构113的任务处理状态。并行计算架构113的内部处理单元都设计有多组监测寄存器,用于监测处理任务的数据量、计算状态、任务统计信息等。并行计算架构113的内部任务处理状态监控可以采用寄存器读写方式来实现。监测寄存器的示例可以包括但不限于配置寄存器,控制寄存器,状态监测寄存器,统计监测寄存器,错误信息寄存器等。
此外,可选地,从处理设备10还可以包括从存储器120。从存储器120被配置为存储从主处理设备20接收的任务处理源数据以及并行计算架构113的任务处理结果数据。
此外,可选地,从处理器110还可以包括数据读/写控制模块116。数据读/写控制模块116设置在任务管理模块112和从存储器120之间,并且与接口模块111、任务管理模块112和从存储器120双向通信。数据读/写控制模块116被配置为控制针对从存储器120中的数据的读/写操作。由此,任务管理模块112可以在数据读/写控制模块116的控制下,读取并行计算架构113的并行计算处理所需的源数据,以及将并行计算架构113的并行计算处理结果数据存储到从存储器120中。
此外,可选地,从处理器110还可以包括高速缓存(未示出)。所述高速缓存是处理器内部缓存,设置在任务管理模块112和数据读/写控制模块116之间。所述高速缓存被配置为缓存从处理器110在数据读/写控制模块116的控制下从所述从存储器120读取的数据,或者缓存并行计算架构113的任务计算结果。
在本说明书的一个示例中,主处理设备20可以是基于CPU的处理设备,即,主处理器可以是CPU。从处理设备10可以是基于FPGA的处理设备,即,从处理器可以是利用FPGA芯片实现。可选地,在另一示例中,从处理器可以采用例如ASIC或其它合适的芯片来实现。
此外,要说明的是,在从处理器110不包括数据读/写控制模块的情况下,接口模块111与任务管理模块112可通信地连接,并且接口模块111与任务管理模块112之间执行双向通信,以将接口模块111所接收的源数据提供给任务管理模块112,以及从任务管理模块112获取并行计算架构113的任务处理结果数据。
图6示出了根据本说明书的实施例的由从处理设备10中的从处理器110执行的任务处理方法的流程图。
如图6所示,在块610,经由接口模块111从主处理设备20接收任务处理源数据和任务配置数据。
在块620,配置并行计算架构113的嵌套式分层结构,并且在块630,配置运算流水线的运算级数。上述配置过程例如可以经由任务管理模块112来完成。
在块640,经由任务管理模块112将任务处理源数据分发到并行计算架构113的各个处理单元。在从处理器110包括数据分发/合并模块114的情况下,任务管理模块112可以和数据分发/合并模块114一起将任务处理源数据分发到各个处理单元。
在块650,各个处理单元执行任务并行处理,得到任务处理结果数据并提供给任务管理模块112。
在块660,经由任务管理模块112将任务处理结果数据提供给主处理设备20的主处理器。
利用根据本说明书的实施例的异构处理***,通过在具有从处理器的从处理设备中实现任务处理算法,并且在从处理器内部设计高效运算、高吞吐量的并行计算架构,从而可以充分利用从处理器的计算高并行、高带宽和低延迟特性,大大提升异构处理***的性能和效率。
通过在实际业务应用(比如,联邦学习的同态加密计算)中的实际测试可知,根据本说明书的实施例的异构处理***的计算性能相对于传统基于CPU的处理***达到了多倍的提升,并且相对于基于GPU的异构处理***,在性能功耗和价格比方面同样大大提升。根据本说明书的实施例的异构处理***可以满足联邦学习应用场景中的功能和性能需求,使得联邦学习的大规模商业落地变为可能,促进了行业发展。
根据本说明书的一个实施例,提供了一种比如机器可读介质(例如,非暂时性机器可读介质)的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-6述的各种操作和功能。具体地,可以提供配有可读存储介质的***或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该***或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
如上参照图1到图6,描述了根据本说明书的实施例的异构处理***、处理器以及任务处理方法。本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各***结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (28)
1.一种第一处理器,包括:
接口模块,被配置为从外部设备接收任务处理源数据和任务配置数据,以及向外部设备发送任务处理结果数据;
并行计算架构,所述并行计算架构包括由多个处理单元组成的分层结构,各个处理单元是具备独立任务处理能力的最小处理单元;以及
任务管理模块,被配置为根据所述任务配置数据,将所述任务处理源数据分发给所述并行计算架构中的各个处理单元来并行处理,得到任务处理结果数据,以及将所述任务处理结果数据提供给所述外部设备。
2.如权利要求1所述的第一处理器,其中,所述分层架构是嵌套式分层结构。
3.如权利要求2所述的第一处理器,其中,所述并行计算架构的嵌套式分层结构是可配置的嵌套式分层结构。
4.如权利要求3所述的第一处理器,其中,所述并行计算架构的嵌套式分层结构根据任务处理算法以及第一处理器的内部计算资源来配置。
5.如权利要求1所述的第一处理器,其中,各个处理单元采用运算流水线设计。
6.如权利要求5所述的第一处理器,其中,所述运算流水线的运算级数根据所述并行计算架构的分层结构的层次以及处理单元的个数来配置。
7.如权利要求5所述的第一处理器,其中,各个处理单元的运算流水线的每级运算具备循环运算功能。
8.如权利要求1所述的第一处理器,其中,所述接口模块包括高速接口模块。
9.如权利要求8所述的第一处理器,其中,所述高速接口模块采用DMA方式或PIO方式进行数据传输。
10.如权利要求1所述的第一处理器,其中,所述并行计算架构的并行处理任务数是可配置的。
11.如权利要求1所述的第一处理器,其中,所述并行计算架构的单任务可支持最大数据量是可配置的。
12.如权利要求1到11中任一所述的第一处理器,还包括:
数据分发/合并模块,被配置为与所述任务管理模块一起将所述任务处理源数据分发给所述并行计算架构中的各个处理单元来并行处理,以及对各个处理单元的并行处理结果进行合并处理,得到任务处理结果数据。
13.如权利要求12所述的第一处理器,其中,所述数据分发/合并模块采用多层数据传输分层结构。
14.如权利要求13所述的第一处理器,其中,所述数据传输分层结构的层次是可配置的,和/或每层数据传输分层结构的数据通道数量是可配置的。
15.如权利要求1到11中任一所述的第一处理器,其中,所述第一处理器与存储器可通信地连接,所述存储器被配置为存储从外部设备接收的任务处理源数据以及所述并行计算架构的任务处理结果数据,所述第一处理器还包括:
数据读/写控制模块,被配置为控制针对所述存储器中的数据的读/写操作。
16.如权利要求1到11中任一所述的第一处理器,还包括:
***控制/监控模块,设置在所述接口模块与所述任务管理模块和所述并行计算架构之间,被配置为将所述接口模块所接收的任务配置数据提供给所述任务管理模块和所述并行计算架构,以及在线监控所述并行计算架构的任务处理状态。
17.如权利要求16所述的第一处理器,其中,所述并行计算架构的任务处理状态的在线监控通过寄存器读写的方式实现。
18.一种处理设备,包括
如权利要求1到17中任一所述的第一处理器;以及
存储器,与所述第一处理器可通信地连接,被配置为存储从外部设备接收的任务处理源数据以及所述并行计算架构的任务处理结果数据。
19.一种异构处理***,包括:
主处理设备,包括主处理器;以及
从处理设备,包括如权利要求1到17中任一所述的第一处理器,
其中,所述主处理设备被配置为将任务处理源数据和任务配置数据发送给所述从处理设备,以及从所述从处理设备接收任务处理结果数据。
20.如权利要求19所述的异构处理***,其中,所述异构处理***应用于联邦学习。
21.一种任务处理方法,所述任务处理方法由处理设备中的第一处理器执行,所述第一处理器包括接口模块、任务管理模块和并行计算架构,所述并行计算架构包括由多个处理单元组成的分层结构,各个处理单元是具备独立任务处理能力的最小处理单元,所述任务处理方法包括:
经由所述接口模块从外部设备接收任务处理源数据和任务配置数据;
经由所述任务管理模块根据所述任务配置数据,将所述任务处理源数据分发给所述并行计算架构中的各个处理单元;
经由所述并行计算架构的各个处理单元执行并行处理来得到任务处理结果数据并提供给所述任务管理模块;以及
经由所述任务管理模块将所述任务处理结果数据提供给所述外部设备。
22.如权利要求21所述的任务处理方法,其中,所述并行计算架构的分层结构是嵌套式分层结构,所述任务处理方法还包括:
根据任务处理算法以及所述第一处理器的内部计算资源,配置所述并行计算架构的嵌套式分层结构。
23.如权利要求21所述的任务处理方法,其中,各个处理单元采用运算流水线设计,所述任务处理方法还包括:
根据所述并行计算架构的嵌套式分层结构的层次以及处理单元的个数,配置所述运算流水线的运算级数。
24.如权利要求21到23中任一所述的任务处理方法,其中,所述第一处理器还包括数据分发/合并模块,
经由所述任务管理模块根据所述任务配置数据,将所述任务处理源数据分发给所述并行计算架构中的各个处理单元包括:
经由所述任务管理模块与所述数据分发/合并模块一起将所述任务处理源数据分发给所述并行计算架构中的各个处理单元,
经由所述并行计算架构的各个处理单元执行并行处理来得到任务处理结果数据包括:
经由所述并行计算架构的各个处理单元和所述数据分发/合并模块一起执行并行处理来得到任务处理结果数据。
25.如权利要求21到23中任一所述的任务处理方法,其中,所述处理设备还包括存储器,所述任务处理方法还包括:
将从外部设备接收的任务处理源数据存储到所述存储器中,以供所述任务管理模块读取来执行并行计算;和/或
将所述并行计算架构的任务处理结果数据存储到所述存储器中,以供所述任务管理模块读取来提供给所述外部设备。
26.如权利要求21到23中任一所述的任务处理方法,其中,所述第一处理器还包括设置在所述接口模块与所述任务管理模块和所述并行计算架构之间的***控制/监控模块,所述任务处理方法还包括:
将所述接口模块所接收的任务配置数据提供给所述任务管理模块和所述并行计算架构;和/或
在线监控所述并行计算架构的任务处理状态。
27.一种由异构处理***执行的任务处理方法,所述异构处理***包括主处理设备和从处理设备,所述主处理设备包括主处理器,以及所述从处理设备包括如权利要求1到17中任一所述的第一处理器,所述任务处理方法包括:
所述主处理设备将任务处理源数据和任务配置数据发送给所述从处理设备;以及
所述从处理设备按照如权利要求21到26中任一所述的任务处理方法执行任务处理来得到任务处理结果数据,并提供给所述主处理设备。
28.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得机器执行如权利要求21到26中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010661053.3A CN111813526A (zh) | 2020-07-10 | 2020-07-10 | 用于联邦学习的异构处理***、处理器及任务处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010661053.3A CN111813526A (zh) | 2020-07-10 | 2020-07-10 | 用于联邦学习的异构处理***、处理器及任务处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111813526A true CN111813526A (zh) | 2020-10-23 |
Family
ID=72841934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010661053.3A Pending CN111813526A (zh) | 2020-07-10 | 2020-07-10 | 用于联邦学习的异构处理***、处理器及任务处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111813526A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112200713A (zh) * | 2020-10-28 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 一种联邦学习中的业务数据处理方法、装置以及设备 |
CN112445735A (zh) * | 2020-11-20 | 2021-03-05 | 深圳致星科技有限公司 | 一种联邦学习数据传输方法、计算机设备、***及存储介质 |
CN112667560A (zh) * | 2020-12-22 | 2021-04-16 | 深圳致星科技有限公司 | 基于fpga的数据分发装置和计算平台 |
CN112685159A (zh) * | 2020-12-30 | 2021-04-20 | 深圳致星科技有限公司 | 基于fpga异构处理***的联邦学习计算任务处理方案 |
CN113112029A (zh) * | 2021-04-22 | 2021-07-13 | 中国科学院计算技术研究所 | 一种应用于异构计算设备的联邦学习***和方法 |
CN113177645A (zh) * | 2021-06-29 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 联邦学习方法、装置、计算设备及存储介质 |
CN113468099A (zh) * | 2021-05-31 | 2021-10-01 | 深圳致星科技有限公司 | 可重构计算装置、处理器及方法 |
CN115017549A (zh) * | 2022-08-09 | 2022-09-06 | 深圳致星科技有限公司 | 隐私计算、隐私数据和联邦学习的决策树计算装置及*** |
CN115061825A (zh) * | 2022-08-09 | 2022-09-16 | 深圳致星科技有限公司 | 隐私计算、隐私数据和联邦学习的异构计算***及方法 |
CN115062329A (zh) * | 2022-08-09 | 2022-09-16 | 深圳致星科技有限公司 | 隐私计算、隐私数据和联邦学习的流水计算装置及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508712A (zh) * | 2011-09-29 | 2012-06-20 | 中国科学技术大学苏州研究院 | 异构多核可重构混合***中的中间件***及任务执行方法 |
CN106648846A (zh) * | 2016-09-23 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种改进的异构多核任务调度的方法 |
CN107291898A (zh) * | 2017-06-22 | 2017-10-24 | 厦门大学 | 基于FPGA的MySQL认证密码恢复***及其方法 |
CN108563808A (zh) * | 2018-01-05 | 2018-09-21 | 中国科学技术大学 | 基于fpga的异构可重构图计算加速器***的设计方法 |
CN108885543A (zh) * | 2016-01-26 | 2018-11-23 | Icat有限责任公司 | 具有可重新配置的算法流水线核和算法匹配流水线编译器的处理器 |
CN110347635A (zh) * | 2019-06-28 | 2019-10-18 | 西安理工大学 | 一种基于多层总线的异构多核微处理器 |
US20200042477A1 (en) * | 2017-09-14 | 2020-02-06 | Samsung Electronics Co., Ltd. | Heterogeneous accelerator for highly efficient learning systems |
-
2020
- 2020-07-10 CN CN202010661053.3A patent/CN111813526A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508712A (zh) * | 2011-09-29 | 2012-06-20 | 中国科学技术大学苏州研究院 | 异构多核可重构混合***中的中间件***及任务执行方法 |
CN108885543A (zh) * | 2016-01-26 | 2018-11-23 | Icat有限责任公司 | 具有可重新配置的算法流水线核和算法匹配流水线编译器的处理器 |
CN106648846A (zh) * | 2016-09-23 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种改进的异构多核任务调度的方法 |
CN107291898A (zh) * | 2017-06-22 | 2017-10-24 | 厦门大学 | 基于FPGA的MySQL认证密码恢复***及其方法 |
US20200042477A1 (en) * | 2017-09-14 | 2020-02-06 | Samsung Electronics Co., Ltd. | Heterogeneous accelerator for highly efficient learning systems |
CN108563808A (zh) * | 2018-01-05 | 2018-09-21 | 中国科学技术大学 | 基于fpga的异构可重构图计算加速器***的设计方法 |
CN110347635A (zh) * | 2019-06-28 | 2019-10-18 | 西安理工大学 | 一种基于多层总线的异构多核微处理器 |
Non-Patent Citations (1)
Title |
---|
狄超,刘萌: "《FPGA之道》", 31 August 2014, 西安交通大学出版社 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112200713A (zh) * | 2020-10-28 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 一种联邦学习中的业务数据处理方法、装置以及设备 |
CN112445735A (zh) * | 2020-11-20 | 2021-03-05 | 深圳致星科技有限公司 | 一种联邦学习数据传输方法、计算机设备、***及存储介质 |
CN112667560A (zh) * | 2020-12-22 | 2021-04-16 | 深圳致星科技有限公司 | 基于fpga的数据分发装置和计算平台 |
CN112685159A (zh) * | 2020-12-30 | 2021-04-20 | 深圳致星科技有限公司 | 基于fpga异构处理***的联邦学习计算任务处理方案 |
CN113112029B (zh) * | 2021-04-22 | 2022-09-16 | 中国科学院计算技术研究所 | 一种应用于异构计算设备的联邦学习***和方法 |
CN113112029A (zh) * | 2021-04-22 | 2021-07-13 | 中国科学院计算技术研究所 | 一种应用于异构计算设备的联邦学习***和方法 |
CN113468099A (zh) * | 2021-05-31 | 2021-10-01 | 深圳致星科技有限公司 | 可重构计算装置、处理器及方法 |
CN113177645A (zh) * | 2021-06-29 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 联邦学习方法、装置、计算设备及存储介质 |
CN113177645B (zh) * | 2021-06-29 | 2021-09-28 | 腾讯科技(深圳)有限公司 | 联邦学习方法、装置、计算设备及存储介质 |
CN115017549A (zh) * | 2022-08-09 | 2022-09-06 | 深圳致星科技有限公司 | 隐私计算、隐私数据和联邦学习的决策树计算装置及*** |
CN115061825A (zh) * | 2022-08-09 | 2022-09-16 | 深圳致星科技有限公司 | 隐私计算、隐私数据和联邦学习的异构计算***及方法 |
CN115062329A (zh) * | 2022-08-09 | 2022-09-16 | 深圳致星科技有限公司 | 隐私计算、隐私数据和联邦学习的流水计算装置及方法 |
CN115017549B (zh) * | 2022-08-09 | 2022-11-18 | 深圳致星科技有限公司 | 隐私计算、隐私数据和联邦学习的决策树计算装置及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111813526A (zh) | 用于联邦学习的异构处理***、处理器及任务处理方法 | |
US11010313B2 (en) | Method, apparatus, and system for an architecture for machine learning acceleration | |
CN112685159B (zh) | 基于fpga异构处理***的联邦学习计算任务处理方案 | |
CN111831330B (zh) | 用于联邦学习的异构计算***设备交互方案 | |
US9323580B2 (en) | Optimized resource management for map/reduce computing | |
US20210097221A1 (en) | Optimization method for graph processing based on heterogeneous fpga data streams | |
CN112000598B (zh) | 用于联邦学习的处理器、异构处理***及隐私数据传输方法 | |
CN104536937B (zh) | 基于cpu‑gpu异构集群的大数据一体机实现方法 | |
CN109284250A (zh) | 一种基于大规模fpga芯片的计算加速***及其加速方法 | |
US10970805B2 (en) | Graphics processing unit operation | |
US20200250525A1 (en) | Lightweight, highspeed and energy efficient asynchronous and file system-based ai processing interface framework | |
CN104375882A (zh) | 匹配于高性能计算机结构的多级嵌套数据驱动计算方法 | |
DE102020130555A1 (de) | Adaptiver datenversand basierend auf lastfunktionen | |
Li | Optimal partitioning of a multicore server processor | |
KR20230029760A (ko) | 컴퓨터 시스템에서 전력 예산 분배 | |
Cudennec | Software-distributed shared memory over heterogeneous micro-server architecture | |
Siracusano et al. | Deep learning inference on commodity network interface cards | |
Prades et al. | Multi-tenant virtual GPUs for optimising performance of a financial risk application | |
TWI832000B (zh) | 用於神經網路之方法及系統 | |
CN115033904A (zh) | 数据处理方法、装置、***、介质和产品 | |
Tang et al. | To cloud or not to cloud: an on-line scheduler for dynamic privacy-protection of deep learning workload on edge devices | |
US20210004658A1 (en) | System and method for provisioning of artificial intelligence accelerator (aia) resources | |
Eich et al. | Fast Columnar Physics Analyses of Terabyte-Scale LHC Data on a Cache-Aware Dask Cluster | |
Ramneek et al. | FENCE: Fast, ExteNsible, and ConsolidatEd framework for intelligent big data processing | |
Cao et al. | Programming platforms for Big Data analysis |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40030781 Country of ref document: HK |