CN116897581A - 计算任务调度装置、计算装置、计算任务调度方法和计算方法 - Google Patents
计算任务调度装置、计算装置、计算任务调度方法和计算方法 Download PDFInfo
- Publication number
- CN116897581A CN116897581A CN202280004975.4A CN202280004975A CN116897581A CN 116897581 A CN116897581 A CN 116897581A CN 202280004975 A CN202280004975 A CN 202280004975A CN 116897581 A CN116897581 A CN 116897581A
- Authority
- CN
- China
- Prior art keywords
- computing
- memory
- task
- computing unit
- load information
- 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
- 238000004364 calculation method Methods 0.000 title claims abstract description 162
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000015654 memory Effects 0.000 claims abstract description 218
- 230000008878 coupling Effects 0.000 claims description 50
- 238000010168 coupling process Methods 0.000 claims description 50
- 238000005859 coupling reaction Methods 0.000 claims description 50
- 238000012545 processing Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 7
- 238000013473 artificial intelligence Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 abstract description 23
- 238000010586 diagram Methods 0.000 description 12
- 230000004927 fusion Effects 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/04—Wireless resource allocation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Advance Control (AREA)
Abstract
本申请提供了一种计算任务调度装置、计算装置、计算任务调度方法和计算方法,该计算任务调度装置,包括:任务调度器,用于为第一计算单元确定第一计算任务,生成第一计算任务的负载信息,负载信息用于定义第一计算任务;处理器,用于从任务调度器接收负载信息,将负载信息存储至存储器中的第一地址以将第一计算任务分配给第一计算单元,第一地址为第一计算单元的预留地址,其中,处理器与存储器和第一计算单元中的至少一个通过总线耦合,第一计算单元与存储器紧密耦合,紧密耦合无需经过任何总线,且第一计算单元能够以高于总线接入的速度接入存储器。该技术方案能够降低数据传输的开销,降低计算的复杂度。
Description
本申请涉及计算机技术领域,尤其涉及一种计算任务调度装置、计算装置、计算任务调度方法和计算方法。
在通用计算机系统中,冯诺依曼或者哈佛架构为计算与存储分离架构。计算需要的数据需从外存加载到计算核内存,即缓存内,计算完成需要从核内存回到外存,使得计算过程中的数据传输功耗增加。
为了降低数据传输的功耗,可以采用计算融合技术、近存计算或存内计算技术。计算融合技术将多步计算通过融合的方式进行计算从而可以减少与外存的交互,但计算融合需要计算核内有一定大小的高速缓存且需要精细的软件切分管理,实现复杂度较高。近存计算在存储器附近完成计算,存内计算在存储器内部直接计算,从而可以降低数据传输的功耗,但近存计算或存内计算一般需要新增相应的计算指令,且针对不同的硬件平台,适配方案不统一,从而复杂度较高。
因此,如何在保证降低数据传输的功耗的同时,降低计算的复杂度,成为需要解决的技术问题。
发明内容
本申请提供一种存储计算装置和存储计算方法,以期降低数据传输的开销,降低计算的复杂度。
第一方面,提供了一种计算任务调度装置,包括:任务调度器,用于为第一计算单元确定第一计算任务,生成所述第一计算任务的负载信息,所述负载信息用于定义所述第一计算任务;处理器,用于从所述任务调度器接收所述负载信息,将所述负载信息存储至存储器中的第一地址以将所述第一计算任务分配给所述第一计算单元,所述第一地址为所述第一计算单元的预留地址,其中,所述处理器与所述存储器和所述第一计算单元中的至少一个通过总线耦合,所述第一计算单元与所述存储器紧密耦合,所述紧密耦合无需经过任何总线,且所述第一计算单元能够以高于总线接入的速度接入所述存储器。
该技术方案中,任务调度器可以为第一计算单元确定计算任务,从而软件模块可以无需感知该第一计算单元的计算能力,从而可以降低软件复杂度,此外,处理器采用访问存储器的方式将计算任务的负载信息存储至存储器中的固定地址中,以将计算任务分配给第一计算单元,第一计算单元与存储器紧密耦合,从而可以快速完成任务计算,无需在处理器与第一计算单元之间通过特定总线或接口传输任务调度信息,降低了数据传输的功耗与时延。
结合第一方面,在第一方面的一种实现方式中,所述处理器具体用于:通过直接存储访问DMA控制器将所述负载信息存储至所述第一地址。
该技术方案中,处理器通过复用现有的DMA技术实现上述有益效果,通过该DMA将负载信息存储器中的第一地址中,以将该第一计算任务分配给第一计算单元,从而可以节省系统开销,提升计算效率。
结合第一方面,在第一方面的一种实现方式中,所述任务调度器为系统软件或应用软件之外的专用任务调度器。
应理解,该任务调度器可以为专用于任务调度的硬件任务调度器。
结合第一方面,在第一方面的一种实现方式中,所述任务调度器还用于:接收来自所述系统软件或所述应用软件的计算任务序列,在所述计算任务序列中为所述第一计算单元确定所述第一计算任务。
应理解,该计算任务序列中可以包括一个或多个计算任务,该第一计算任务可以是一个计算任务,也可以是多个计算任务,本申请实施例对此不予限定。
结合第一方面,在第一方面的一种实现方式中,所述任务调度器还用于:在所述计算任务序列中为第二计算单元确定第二计算任务;将所述第二计算任务调度至第二计算单元;其中,所述第二计算单元包括所述处理器、图像处理单元、人工智能AI处理单元、数字信号处理器或专用逻辑电路中的至少一个,所述第二计算单元和所述存储器通过总线耦合。
该技术方案中,当任务调度器在计算任务序列中确定该第二计算任务不适合第一计算单元完成计算时,可以将该第二计算任务调度至第二计算单元中,该第二计算单元与存储器通过总线耦合。例如,该第二计算任务可以是不适合进行近存计算、存内计算或存算一体的其他任务。
结合第一方面,在第一方面的一种实现方式中,所述任务调度器具体用于:根据计算列表,在所述计算任务序列中为所述第一计算单元确定所述第一计算任务,其中,所述计算列表包括所述第一计算单元支持的计算任务类型。
应理解,该计算列表可以用链表等进行代替。
在一些实施例中,该计算列表可以进行更新。例如,当第一计算单元支持的计算类型发生改变时,可以将改变后的计算类型加入计算列表中,以完成对计算列表的更新。或者,当该任务调度器和处理器应用到其他的计算单元时,可以将该计算单元支持的计算类型加入该计算列表中。从而可以提升系统的兼容性。
结合第一方面,在第一方面的一种实现方式中,所述负载信息包括如下信息中的至少一种:数据地址;数据维度;或控制命令字。
应理解,该负载信息还可以包括用于计算任务的其他信息等。
结合第一方面,在第一方面的一种实现方式中,所述紧密耦合包括近存计算耦合、存内计算耦合或存算一体耦合。
第二方面,提供了一种计算装置,包括:存储器;第一计算单元,用于从所述存储器中的第一地址获取负载信息,并根据所述负载信息完成第一计算任务,其中,所述负载信息用于定义所述第一计算任务,所述第一地址为所述第一计算单元的预留地址;其中,所述第一计算单元与所述存储器紧密耦合,所述紧密耦合无需经过任何总线,且所述第一计算单元能够以高于总线接入的速度接入所述存储器;所述存储器和所述第一计算单元中的至少一个通过总线耦合至处理器。
该技术方案中,第一计算单元从存储器中获取负载信息,且第一计算单元与存储器紧密耦合,从而可以降低计算所需的系统开销,提升计算效率。
结合第二方面,在第二方面的一种实现方式中,所述负载信息包括如下信息中的至少一种:数据地址;数据维度;或控制命令字。
结合第二方面,在第二方面的一种实现方式中,所述紧密耦合包括近存计算耦合、存内计算耦合或存算一体耦合。
结合第二方面,在第二方面的一种实现方式中,所述存储器具体用于:在直接存储访问DMA控制器的操作下在所述第一地址写入所述负载信息。
该技术方案中,存储器可以通过DMA,在第一地址中写入负载信息。从而可以节省总线开销。
第三方面,提供一种计算任务调度方法,包括:任务调度器为第一计算单元确定第一计算任务,生成所述第一计算任务的负载信息,所述负载信息用于定义所述第一计算任务;处理器从所述任务调度器接收所述负载信息,将所述负载信息存储至存储器中的第一地址以将所述第一计算任务分配给所述第一计算单元,所述第一地址为所述第一计算单元的预留地址,其中,所述处理器与所述存储器和所述第一计算单元中的至少一个通过总线耦合,所述第一计算单元与所述存储器紧密耦合,所述紧密耦合无需经过任何总线,且所述第一计算单元能够以高于总线接入的速度接入所述存储器。
结合第三方面,在第三方面的一种实现方式中,所述将所述负载信息存储至存储器中的第一地址以将所述第一计算任务分配给所述第一计算单元,包括:通过直接存储访问DMA控制器将所述负载信息存储至所述第一地址以将所述第一计算任务分配给所述第一计算单元。
结合第三方面,在第三方面的一种实现方式中,所述任务调度器为系统软件或应用软件之外的专用任务调度器。
结合第三方面,在第三方面的一种实现方式中,所述任务调度器为第一计算单元确定第一计算任务,包括:所述任务调度器接收来自所述系统软件或所述应用软件的计算任务序列,在所述计算任务序列中为所述第一计算单元确定所述第一计算任务。
结合第三方面,在第三方面的一种实现方式中,所述方法还包括:在所述计算任务序列中为第二计算单元确定第二计算任务;将所述第二计算任务调度至第二计算单元;其中,所述第二计算单元包括所述处理器、图像处理单元、人工智能AI处理单元、数字信号处理器或专用逻辑电路中的至少一个,所述第二计算单元和所述存储器通过总线耦合。
结合第三方面,在第三方面的一种实现方式中,所述在所述计算任务序列中为所述第一计算单元确定所述第一计算任务,包括:根据计算列表,在所述计算任务序列中为所述第一计算单元确定所述第一计算任务,其中,所述计算列表包括所述第一计算单元支持的计算任务类型。
结合第三方面,在第三方面的一种实现方式中,所述负载信息包括如下信息中的至少一种:数据地址;数据维度;或控制命令字。
结合第三方面,在第三方面的一种实现方式中,所述紧密耦合包括近存计算耦合、存内计算耦合或存算一体耦合。
第四方面,提供一种计算方法,包括:第一计算单元从存储器中的第一地址获取负载信息,并根据所述负载信息完成第一计算任务,其中,所述负载信息用于定义所述第一计算任务,所述第一地址为所述第一计算单元的预留地址;其中,所述第一计算单元与所述存储器紧密耦合,所述紧密耦合无需经过任何总线,且所述第一计算单元能够以高于总线 接入的速度接入所述存储器;所述存储器和所述第一计算单元中的至少一个通过总线耦合至处理器。
结合第四方面,在第四方面的一种实现方式中,所述负载信息包括如下信息中的至少一种:数据地址;数据维度;或控制命令字。
结合第四方面,在第四方面的一种实现方式中,所述紧密耦合包括近存计算耦合、存内计算耦合或存算一体耦合。
结合第四方面,在第四方面的一种实现方式中,所述方法还包括:所述存储器在直接存储访问DMA控制器的操作下在所述第一地址写入所述负载信息。
第五方面,提供一种计算机可读存储介质,包括:所述存储介质中存储有计算机程序或指令,当所述计算机程序或指令被通信装置执行时,使得如第三方面及其任一种可能的实现方式中所述的计算任务调度方法被执行,或者,使得如第四方面及其任一种可能的实现方式中所述的计算方法被执行。
第六方面,提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得如第三方面及其任一种可能的实现方式中所述的计算任务调度方法被执行,或者,使得如第四方面及其任一种可能的实现方式中所述的计算方法被执行。
第七方面,提供一种计算系统,包括如第一方面及其任一种可能的实现方式中所述的任务调度装置和第二方面及其任一种可能的实现方式中所述的计算装置。
图1是本申请实施例提供的一种计算装置的示意性框图。
图2是本申请实施例提供的一种近存计算装置的示意性框图。
图3是本申请实施例提供的一种计算任务调度装置的示意性框图。
图4是本申请实施例提供的一种根据计算列表确定目标计算任务的示意图。
图5是本申请实施例提供的另一种计算任务调度装置的示意性框图。
图6是本申请实施例提供的一种计算任务调度方法的示意性流程图。
图7是本申请实施例提供的另一种计算任务调度方法的示意性流程图。
下面将结合附图,对本申请中的技术方案进行描述。
在通用计算机系统中,冯诺依曼或者哈佛架构均为计算与存储分离架构。计算需要的数据需从外存加载到计算核内,计算完成需要从核内存回到外存。在当前神经网络快速发展的时代,大多加速硬件采用冯诺依曼架构。而神经网络的计算特点为计算密集型同时也是数据密集型,计算核内具有高数据并行的计算资源,对带宽需求非常大。所以在整体计算的功耗分解中往往数据传输的功耗开销相比计算功耗开销还要高。
为了降低数据传输的功耗开销,可以采用计算融合的技术方案,即:将多步计算通过融合的方式进行计算从而可以减少与外存的交互。计算融合能够有效缓解带宽压力,起到降低传输功耗开销的目的。但计算融合需要计算核内有一定大小的高速缓存(如static random-access memory,SRAM),另外计算融合需要精细的软件切分管理,实现复杂度较高。
除了计算融合之外,还可以采用近存计算(near-memory computing,NMC)或存内计 算(in-memory computing,IMC)技术来降低数据传输的功耗开销。近存计算和存内计算都是一种聚焦在存储器的新体系结构技术方向,通过在存储器附近计算或者存储器内部直接计算,从而突破冯诺依曼架构的限制,从而解决了数据传输的功耗开销。近存计算把存储器和计算处理器紧密耦合一起,通过较短的导线降低数据传输的延迟和功耗,从而提高系统能效。随着制造工艺和封装技术发展,将计算逻辑与存储堆叠构建混合计算存储。而存内计算是计算直接在内存阵列中完成,减少了计算处理器与内存的数据传输。但近存或存内计算技术受限于计算特点与存储计算硬件设计复杂度。
一般情况下,近存计算或存内计算需要新增相应的计算指令,且针对不同的硬件平台,适配方案不统一,从而集成复杂度较高。有鉴于此,本申请实施例提供一种存储计算装置和存储计算方法,该技术方案能够在保证数据传输的功耗较低的情况下,进一步降低实现的复杂度。
在介绍本申请的技术方案之前,首先结合图1-2介绍一下普通计算与近存计算或存内计算的区别。
图1是本申请实施例提供的一种普通计算装置的示意性框图。如图1所示,该装置100a中,存储器110将需要计算的数据通过总线写入缓存(buffer)120中,普通计算单元130在进行计算时,该普通计算单元130进行读缓存,从缓存120中获取需要计算的数据,然后该普通计算单元130完成计算操作,并将计算结果写入缓存120中,通过总线将数据从缓存120中写入存储器110。在普通计算单元130完成计算的过程中,缓存120需要进行多次读写,且存储器110需要通过总线与缓存120进行多次交互,使得系统总线开销较大。
图2是本申请实施例提供的一种近存计算装置的示意性框图。如图2所示,该装置100b中,近存计算单元150可以位于存储器140外部,与存储器140紧密耦合,从而该近存计算单元150在进行计算时,可以不通过总线与存储器140进行交互,而是通过物理导线或电路连线进行数据交互,由于近存计算单元150与存储器140紧密耦合在一起,二者距离较近,传输数据的物理导线或电路连线较短,从而可以降低数据在近存计算单元和存储器传输的时延与功耗,也降低了总线开销。
在一些实施例中,该近存计算单元150可以用存内计算单元代替,该存内计算单元可以位于存储器140内部,例如,该存内计算单元可以嵌入存储器140内部,作为存储器的一部分,也就是说存储器具备计算能力,该存内计算单元可以通过物理导线或电路连线与存储器交互,该存内计算单元还可以不通过读写协议直接读取存储器内部的数据以完成计算,而无需通过总线,从而可以节省总线开销。
该近存计算单元150和存储器140,还可以用存算一体单元代替,此时,该存算一体单元既可以存储数据,又可以完成计算,从而可以节省计算与存储之间的总线开销,也可以降低数据传输的时延与功耗。
下文将结合图3至图7详细介绍本申请实施例中的技术方案。
图3是本申请实施例提供的一种计算任务调度装置的示意性框图。如图3所示,该装置200可以包括计算业务单元210、任务调度器220、处理器230、存储器240和近存计算单元250。可选地,该装置200中的任务调度器220、处理器230可以位于一个芯片,如片上系统(SoC)内。存储器240和近存计算单元250可以位于另一个芯片内。
其中,计算业务单元210位于业务调度层,属于软件模块,例如,该计算业务单元 210可以是系统软件,也可以是应用软件;任务调度器220属于硬件调度器,处理器230、存储器240和近存计算单元250均属于硬件器件。处理器230可以运行所述系统软件或应用软件以执行计算或处理任务,处理器还可以与其他硬件设备进行交互,如发送/接收数据或指令等。存储器240可以用于存储数据并能够被其他硬件设备,如处理器230访问。近存计算单元250可以包括计算电路,用于执行计算任务,该计算任务可以不同于处理器230执行的计算任务。
示例性地,计算业务单元210将编译好的计算任务序列发送至任务调度器220;任务调度器220对该计算任务序列进行解析,并确定计算任务是否可以进行近存计算,当确定目标计算任务可以进行近存计算时,任务调度器220调用近存计算负载生成函数生成第一计算任务的负载信息,并将该第一计算任务的负载信息调度至处理器230;该处理器230(例如,CPU)将该第一计算任务的负载信息存储至存储器中的第一地址。可选地,该第一地址是预留地址,用于该处理器230与近存计算单元250之间的所述负载信息交互,近存计算单元250可以访问该第一地址,以获取目标计算任务的负载信息,之后近存计算单元250根据该负载信息完成计算,并将计算的结果存储至存储器240中。
具体地,任务调度器220可以为近存计算单元确定第一计算任务,生成第一计算任务的负载信息,该负载信息用于定义第一计算任务。
示例性地,该任务调度器为系统软件或应用软件之外的专用任务调度器。即该任务调度器为装置200中专门用于调度计算任务的硬件任务调度器。
处理器230可以从任务调度器220接收负载信息,将负载信息存储至存储器240中的第一地址以将第一计算任务分配给近存计算单元250,第一地址为近存计算单元250的预留地址,其中,处理器230与存储器240和近存计算单元250中的至少一个通过总线耦合,近存计算单元250与存储器240紧密耦合,所述紧密耦合无需经过任何总线,且近存计算单元250能够以高于总线接入的速度接入存储器240。
该实施例中,紧密耦合为近存计算耦合。
应理解,该负载信息用于定义第一计算任务,可以理解为,该负载信息中的内容是计算第一计算任务需要的内容,可以用于近存计算单元完成该第一计算任务。
该存储器240中的第一地址为近存计算单元250的预留地址,即该存储器240中为该近存计算单元250预留了一块区域,该区域中可以存储有近存计算单元250计算所需的负载信息。该近存计算单元250可以访问该第一地址,以获取该负载信息,从而根据该负载信息完成第一计算任务。
在一种可能的实现方式中,处理器230与存储器240通过总线耦合,存储器240与近存计算单元250紧密耦合,即近存计算单元250与存储器交互数据无需通过任何总线,且该近存计算单元接入存储器240的速度高于通过总线接入存储器240的速度。例如,二者可以通过物理导线或电路连线交互,从而无需通过总线,可以节省总线开销,进而降低数据传输的时延和功耗。在另一种可能的实现方式中,当处理器230与存储器240通过总线耦合,且处理器230与近存计算单元250不通过总线耦合时,处理器230可以通过直接存储访问DMA控制器将负载信息存储至第一地址,近存计算单元250从该第一地址中获取该负载信息。处理器230还可以通过配置寄存器等方式将负载信息调度至近存计算单元250,例如,处理器230将负载信息写入寄存器中。近存计算单元250读取该寄存器,从寄存器中获取该负载信息并存入第一地址,以完成计算。该寄存器可以与处理器230位于 同一个芯片内,如SoC内。
该任务调度器可以在计算任务序列中为近存计算单元确定第一计算任务。
具体地,该任务调度器确定第一计算任务可以是根据该第一计算任务的类型进行确定的。例如,该任务调度器中可以预先存储有计算类型,该计算类型可以是预先设置的一项或多项,例如,该计算类型可以包括矩阵类计算、循环计算等等,该计算类型可以处于一个计算列表中或链表中。
示例性地,任务调度器根据计算列表,在计算任务序列中为近存计算单元250确定第一计算任务。具体地,当一个计算任务的计算类型处于计算列表中包括的计算类型时,可以确定该计算任务为第一计算任务。该第一计算任务可以是是一个计算任务,也可以是多个计算任务,本申请实施例对此不予限定。
参见图4,图4是本申请实施例提供的一种根据计算列表确定第一计算任务的示意图。如图4所示,该计算列表中可以包括计算任务的计算类型A、计算类型B、计算类型C、计算类型D等等,该计算任务序列可以包括计算任务一(计算类型为A)、计算任务二(计算类型为C)、计算任务三(计算类型为E)、计算任务四(计算类型为F)等等。
任务调度器可以预先存储有该计算列表,当任务调度器接收到计算业务单元发送的计算任务序列后,可以根据计算任务序列中的计算任务的类型是否包括在计算列表中来确定目标计算任务。继续参见图4,计算任务序列中的计算任务一和计算任务二的计算类型包括在计算列表中,则可以确定计算任务一和计算任务二为第一计算任务。
应理解,该计算类型可以是与近存计算单元相关的,例如,该计算类型可以是该近存计算单元支持的计算类型。示例性地,该近存计算单元支持的近存计算的类型为矩阵类计算,则该计算类型可以包括该矩阵类计算,或者,当该计算类型不包括该矩阵类计算的类型时,可以将该矩阵类计算的类型添加至计算类型中,以完成对该计算类型的更新。
在一些实施例中,该计算类型还可以由计算任务单元发送至任务调度器的。该第一计算任务的负载信息可以包括但不限于:数据地址;数据维度;控制命令字等。其中,该数据地址可以是用于指示该数据在存储器中存放的地址;该数据维度用于指示该数据的维度信息,例如,行数、列数,按照行优先存储、按照列优先存储等,该数据维度还可以包括数据类型,该数据类型可以是浮点型、整型等;该控制命令字可以是用于控制该第一计算任务的计算类型,例如,乘法、加法、乘加等。
该处理器可以包括但不限于:中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、神经网络处理器(neural-network processing unit,NPU)等。
该处理器将第一计算任务的负载信息调度至近存计算单元可以通过以下几种方式:
方式一:
处理器通过直接存储访问(direct memory access,DMA)控制器将该负载信息存储至第一地址,近存计算单元访问该第一地址,从而可以获取该负载信息。
例如,处理器向DMA发送指令,该指令中可以包括负载信息的源地址和目的地址,DMA控制器根据处理器的指令,通过DMA写信号将负载信息从源地址搬运至目的地址中,也即将负载信息传输至存储器中。该技术方案中,处理器可以向DMA控制器发送指令,将该负载信息利用已有的DMA机制传输至存储器的第一地址中,从而可以无需重新设计,降低了设计复杂度。
在这种情况下DMA控制器在处理器的控制下,通过DMA写信号将该负载信息传输至存储器中的固定地址中,该固定地址可以是近存计算单元的预留地址,该近存计算单元可以从该固定地址中获取该负载信息并进行解析,并根据该负载信息完成计算,并将计算的结果写入存储器中,然后存储器返回DMA响应信号至DMA控制器,DMA控制器将DMA传输完成的消息或指令传输至处理器。
相应的,存储器在DMA控制器的操作下在第一地址写入负载信息。
该技术方案中,处理器通过已有的DMA机制将负载信息调度至近存计算单元,从而处理器无需通过近存计算专用指令将负载信息单独发送至近存计算单元,从而实现了处理器与近存计算单元的解耦,节省了总线开销。此外,由于复用现有的DMA机制,可以降低设计的复杂度。
方式二:
处理器可以通过配置寄存器等方式将负载信息调度至近存计算单元。例如,负载信息调度至近存计算单元中第一地址。
示例性地,处理器将负载信息写入片上寄存器中,近存计算单元读取该寄存器,从寄存器中获取该负载信息,以完成计算。该片上寄存器可以位于SoC上。
应理解,由于该近存计算单元250可以在存储器240附近完成计算,该近存计算单元250可以通过物理导线或电路连线与存储器240完成交互,无需通过系统总线,从而可以降低数据传输的时延与功耗,节省系统总线开销,从而提高系统计算效率。
进一步地,该技术方案中,任务调度器可以对计算任务进行解析以确定计算任务是否支持近存计算,从而计算业务单元无需感知计算单元的计算能力,此外,处理器采用访问存储器的方式将计算任务的负载信息存储至存储器中的第一地址中,以将计算任务分配给近存计算单元,近存计算单元与存储器紧密耦合,从而可以快速完成任务计算,无需在处理器与近存计算单元之间通过特定总线或接口传输任务调度信息,从而降低了总线开销。
在一些实施例中,当存储器和近存计算单元更换时,更换后的近存计算单元支持的计算类型可能会发生改变,此时,可以将新增加的计算类型添加至上述计算列表中,以完成计算列表的更新。
该技术方案中,任务调度器中的预设计算类型可以针对不同的近存计算单元和存储器进行更新,使得任务调度器的适配性更好,进一步提高了兼容性。
在另一些实施例中,任务调度器还可以用于在计算任务序列中确定第二计算任务,当任务调度器确定计算任务序列的第二计算任务不适合进行近存计算时,可以将该计算任务调度至其他的第二计算单元中,该第二计算单元计算该第二计算任务,其中,该第二计算单元可以与存储器通过总线耦合,该第二计算单元可以是包括所述处理器、图像处理单元、人工智能(artificial intelligence,AI)处理单元、数字信号处理器或专用逻辑电路中的至少一个。
图4是本申请实施例提供的另一种计算任务调度装置的示意性框图。如图4所示,该装置300可以包括计算业务单元210、任务调度器220、处理器230、存储器240和存内计算单元260。
其中,该存内计算单元260可以处于存储器240中,例如,该存内计算单元260可以嵌入存储器240内部,作为存储器的一部分,该存内计算单元260在存储器240内部可以通过更短的物理导线或电路连线与存储器240进行数据交互,或者,该存内计算单元260 可以直接读取存储器240中的数据,而无需通过总线,从而可以节省总线开销,可以快速完成数据计算和数据传输。
示例性地,计算业务单元210将编译好的计算任务序列发送至任务调度器220;任务调度器220对该计算任务序列进行解析,并确定目标计算任务是否可以进行存内计算,当确定目标计算任务可以进行存内计算时,任务调度器220调用存内计算负载生成函数生成目标计算任务的负载信息,并将该负载信息调度至处理器230;该处理器230(例如,CPU)将该目标计算任务的负载信息调度至存储器中的第一地址,存内计算单元260访问该第一地址以获取负载信息,存内计算单元260根据该负载信息对该目标计算任务进行计算,并将计算的结果存储至存储器240中。
应理解,对于计算业务单元210、任务调度器220、处理器230的相关描述可以参见前文,为了简洁,不再赘述。
该实施例中,紧密耦合可以为存内计算耦合。
应理解,该存内计算单元260和存储器240可以用存算一体单元代替,此时,紧密耦合为存算一体耦合。
该技术方案中,任务调度器可以对计算任务进行解析以确定计算任务是否支持存内计算,从而计算业务单元无需感知计算单元的的计算能力,从而降低了软件的复杂度。此外,处理器采用访问存储器的方式将计算任务的负载信息存储至存储器中的固定地址中,以将计算任务分配给存内计算单元,存内计算单元与存储器紧密耦合,从而可以快速完成任务计算,无需在处理器与存内计算单元之间通过特定总线或接口传输任务调度信息,从而可以降低系统总线开销。
图5是本申请实施例提供的一种计算任务调度方法的示意性流程图。如图5所示,该方法400可以包括步骤301至步骤308。
301,计算业务单元将计算任务序列发送至任务调度器TS。相应的,任务调度器接收该计算任务序列。
其中,该计算任务序列可以一个计算任务,也可以是多个计算任务序列,本申请实施例对该计算任务序列中包括的计算任务的数量不做限定。
该计算业务单元可以是系统软件,也可以是应用软件。
在一些实施例中,该计算业务单元可以将该计算任务序列编译后,发送至任务调度器。
302,任务调度器为近存计算单元确定第一计算任务,生成第一计算任务的第一负载信息。
应理解,该任务调度器可以对编译后的计算任务序列进行解析,在确定第一计算任务后,调用负载生成函数生成该第一计算任务对应的近存计算负载信息。
应理解,该第一计算任务是任务调度器确定可以进行近存计算的计算任务。
该任务调度器确定第一计算任务的方式可以是根据该第一计算任务的计算类型确定的。例如,任务调度器可以确定该第一计算任务的计算类型是否属于预设的计算类型。
其中,任务调度器中可以预先保存有计算类型,例如,该计算类型可以是矩阵类计算,如矩阵与矩阵乘、矩阵与向量乘;该计算类型还可以是循环计算、向量卷积运算等等。
在一些实施例中,该计算类型还可以是计算业务单元发送至任务调度器的。
该预设的计算类型可以处于一个列表中、或链表中等。
例如,该计算类型处于列表中,该列表可以是计算类型列表,该计算类型列表中可以 包括计算类型A、计算类型B、计算类型C,当任务调度器解析该计算任务序列,当计算任务序列中包括计算类型A、或计算类型B或计算类型C的第一计算任务时,均可确定该第一计算任务适合进行近存计算,从而该任务调度器可以调用负载生成函数生成负载信息。
在另一些实施例中,任务调度器可以对该预设的计算类型进行更新,例如,针对不同的存储器和近存计算单元,其支持的近存计算的类型可能是不同的,当存储器和近存计算单元更换时,在其支持的近存计算的目标类型不包括在预设的计算类型的情况下,可以将该目标类型添加至预设的计算类型中,如将该目标类型添加至计算列表中,以完成该计算类型的更新,使得任务调度器的适配性更好,从而可以提升兼容性。
在另一些实施例中,任务调度器除了根据第一计算任务的计算类型确定该第一计算任务之外,还可以进一步根据第一计算任务的数据维度确定该第一计算任务,以确定该第一计算任务是否适合近存计算。例如,可以根据数据维度确定数据量大小(例如,行数乘以列数),当数据量大于预设值时,可以确定该第一计算任务适合近存计算,否则,该第一计算任务不适合近存计算。又如,当根据数据维度确定该第一计算任务的数据类型(例如,浮点型)与近存计算单元支持的数据类型(例如,浮点型)一致时,可以确定该第一计算任务适合近存计算,否则,该第一计算任务不适合近存计算。
在一些实施例中,任务调度器在确定了第一计算任务的计算类型属于预设的计算类型后,进一步确定该第一计算任务的数据维度不适合进行近存计算,则该任务调度器可以将该第一计算任务调度至其他计算核进行正常计算。或者,在确定了第一计算任务的计算类型属于预设的计算类型后,进一步确定该目标计算任务的数据维度适合进行近存计算,则该任务调度器可以调用负载生成函数生成负载信息,并将该负载信息调度至处理器。
在另一些实施例中,当计算任务序列中的第二计算任务不属于预设的计算类型时,说明该第二计算任务不适合近存计算,例如,该第二计算任务为控制流、激活函数等计算任务,则该任务调度器可以将该计算任务调度至第二计算单元进行正常计算,从而计算业务单元无需感知计算单元是否支持近存计算,进而降低了软件实现的复杂度。例如,该第二计算单元可以是上述处理器、图像处理单元、AI处理单元、数字信号处理器或专用逻辑电路中的至少一个,其中,该第二计算单元可以和存储器通过总线耦合。
该第一负载信息可以用于定义该第一计算任务,从而近存计算单元可以根据该第一负载信息计算该第一计算任务。
该负载信息可以包括数据地址、数据维度、控制命令字等,对于该负载信息的具体描述可以参见前文中的相关描述,此处不再详述。
应理解,该负载信息还可以包括其他进行数据计算所需要的信息。
303,任务调度器将第一负载信息调度至处理器。相应的,处理器接收该第一负载信息。
其中,该处理器可以是CPU、GPU、NPU等等,该处理器还可以是CPU、GPU、NPU中的一个或多个计算核或计算单元,本申请实施例对此不予限定。
304,处理器将该第一负载信息调度至存储器。
在一种可能的实现方式中,处理器通过DMA控制器将第一负载信息调度至存储器。具体地,处理器向DMA控制器发送指令,DMA控制器根据该指令通过DMA写信号将负载信息传输至存储器中的固定地址中,例如,DMA控制器通过该指令利用总线将负载 信息从源地址搬运至目的地址。
其中,该存储器中预留了专门用于存储近存计算相关的信息的预留地址,即第一地址,该预留地址中可以用于存储该第一负载信息,从而近存计算单元可以访问该预留地址,以获取该第一负载信息。
这样,处理器通过已有的DMA机制实现负载信息的下发,可以无需增加近存计算专用指令,从而处理器无需单独通过总线下发调度信息,从而可以节省系统总线开销,提升计算效率。此外,由于复用现有的DMA机制,可以降低设计的复杂度。
在其他的实施例中,处理器还可以通过其他方式将该负载信息调度至近存计算单元中,例如,通过配置寄存器等方式该负载信息调度至近存计算单元中。例如,处理器将负载信息写入寄存器中,近存计算单元读取该寄存器,从寄存器中获取该负载信息,以完成计算。
305,近存计算单元从存储器中获取该第一负载信息。
示例性地,近存计算单元可以从存储器中的预留地址中获取该第一负载信息,由于近存计算单元位于存储器附近,访问存储器无需经过总线,因而可以提升数据传输的时延和功耗。
在其他的实施例中,该近存计算单元还可以通过近存计算指令获取该负载信息。
应理解,该近存计算单元还可以通过其他方式获取该负载信息。
306,近存计算单元根据该第一负载信息完成第一计算任务。
示例性地,该第一负载信息定义了地址A中的矩阵A1与地址B中的矩阵B1进行矩阵乘运算,则该近存计算单元可以根据该第一负载信息指示存储器完成相应的计算。
307,近存计算单元将计算完成的信息发送至存储器。
其中,近存计算单元在完成计算后,将计算结果写入存储器中,也即将计算完成的信息发送至存储器。
308,存储器向处理器发送响应信号。
示例性地,存储器接收到近存计算完成的信息或指令后,可以向DMA控制器发送DMA响应信号,该DMA控制器接收到DMA响应信号后,向处理器发送DMA传输完成的信号或指令。
基于本申请实施例,近存计算单元可以在存储器附近完成计算,从而可以降低数据传输的时延与功耗,从而提高系统计算效率。
该技术方案中,任务调度器可以对计算任务进行解析以确定计算任务是否支持近存计算,从而计算业务单元无需感知近存计算单元的计算能力,从而降低了软件复杂度。此外,任务调度器中的预设存储计算类型可以针对不同的硬件平台进行更新,进一步提高了兼容性。进一步地,处理器可以通过已有的DMA机制将近存计算需要的负载信息调度至近存计算单元,从而无需新增加近存计算指令用于调度计算任务,因此,可以节省总线开销,提升计算效率。
图6是本申请实施例提供的另一种计算任务调度方法的示意性流程图。如图6所示,该方法500可以包括步骤401至步骤407。
401,计算业务单元将计算任务序列发送至任务调度器TS。相应的,任务调度器接收该计算任务序列。
402,任务调度器为存内计算单元确定第三计算任务,生成第三计算任务的第二负载信息。
403,任务调度器将第二负载信息调度至处理器。相应的,处理器接收该第二负载信息。
404,处理器将第二负载信息调度至存储器。
应理解,步骤401至步骤404可以参见步骤301至步骤304的相关描述,为了简洁,不再赘述。
405,存内计算单元从存储器中获取该第二负载信息。
示例性地,该存储器中可以为存内计算单元预留了专门用于存储存内计算相关的信息的预留地址,该预留地址中可以用于存储该第二载信息,从而存内计算单元可以访问该预留地址,以获取该第二负载信息。
406,存内计算单元根据该第二负载信息完成第三计算任务。
407,存储器向处理器发送响应信号。
应理解,步骤406至步骤407可以参见步骤306至步骤307的相关描述,为了简洁,不再赘述。
在另一些实施例中,该存内计算单元和存储器还可以用存算一体单元进行代替。
基于本申请实施例,存内计算单元可以在存储器内部完成计算,从而无需新增存内计算指令,节省了总线开销,可以降低数据传输的时延与功耗,从而提高系统计算效率。
该技术方案中,任务调度器可以对计算任务进行解析以确定计算任务是否支持存内计算,从而计算业务单元无需感知存内计算单元支持的计算任务的计算类型,降低了软件复杂度。此外,任务调度器中的预设计算类型可以针对不同的存内计算单元和存储器进行更新,进一步提高了兼容性。进一步地,处理器可以通过已有的DMA机制将存内计算需要的负载信息调度至存内计算单元,无需通过总线单独传输存内计算指令,从而可以节省总线开销,提升计算效率。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得如前文中任一项所述的计算任务调度方法被执行。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得如前文中任一项所述的计算方法被执行。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的计算任务调度方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的计算方法。
本申请实施例还提供了一种计算系统,包括如前文中任一项所述的计算任务调度装置和计算装置。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的计算任务调度方法或计算方法。
其中,本实施例提供的计算任务调度装置、计算装置、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (25)
- 一种计算任务调度装置,其特征在于,包括:任务调度器,用于为第一计算单元确定第一计算任务,生成所述第一计算任务的负载信息,所述负载信息用于定义所述第一计算任务;处理器,用于从所述任务调度器接收所述负载信息,将所述负载信息存储至存储器中的第一地址以将所述第一计算任务分配给所述第一计算单元,所述第一地址为所述第一计算单元的预留地址,其中,所述处理器与所述存储器和所述第一计算单元中的至少一个通过总线耦合,所述第一计算单元与所述存储器紧密耦合,所述紧密耦合无需经过任何总线,且所述第一计算单元能够以高于总线接入的速度接入所述存储器。
- 根据权利要求1所述的装置,其特征在于,所述处理器具体用于:通过直接存储访问DMA控制器将所述负载信息存储至所述第一地址。
- 根据权利要求1或2所述的装置,其特征在于,所述任务调度器为系统软件或应用软件之外的专用任务调度器。
- 根据权利要求3所述的装置,其特征在于,所述任务调度器还用于:接收来自所述系统软件或所述应用软件的计算任务序列,在所述计算任务序列中为所述第一计算单元确定所述第一计算任务。
- 根据权利要求4所述的装置,其特征在于,所述任务调度器还用于:在所述计算任务序列中为第二计算单元确定第二计算任务;将所述第二计算任务调度至第二计算单元;其中,所述第二计算单元包括所述处理器、图像处理单元、人工智能AI处理单元、数字信号处理器或专用逻辑电路中的至少一个,所述第二计算单元和所述存储器通过总线耦合。
- 根据权利要求4所述的装置,其特征在于,所述任务调度器具体用于:根据计算列表,在所述计算任务序列中为所述第一计算单元确定所述第一计算任务,其中,所述计算列表包括所述第一计算单元支持的计算任务类型。
- 根据权利要求1-6中任一项所述的装置,其特征在于,所述负载信息包括如下信息中的至少一种:数据地址;数据维度;或控制命令字。
- 根据权利要求1-7中任一项所述的装置,其特征在于,所述紧密耦合包括近存计算耦合、存内计算耦合或存算一体耦合。
- 一种计算装置,其特征在于,包括:存储器;第一计算单元,用于从所述存储器中的第一地址获取负载信息,并根据所述负载信息完成第一计算任务,其中,所述负载信息用于定义所述第一计算任务,所述第一地址为所述第一计算单元的预留地址;其中,所述第一计算单元与所述存储器紧密耦合,所述紧密耦合无需经过任何总线,且所述第一计算单元能够以高于总线接入的速度接入所述存储器;所述存储器和所述第一计算单元中的至少一个通过总线耦合至处理器。
- 根据权利要求9所述的装置,其特征在于,所述负载信息包括如下信息中的至少一种:数据地址;数据维度;或控制命令字。
- 根据权利要求9或10所述的装置,其特征在于,所述紧密耦合包括近存计算耦合、存内计算耦合或存算一体耦合。
- 根据权利要求9-11中任一项所述的装置,其特征在于,所述存储器具体用于:在直接存储访问DMA控制器的操作下在所述第一地址写入所述负载信息。
- 一种计算任务调度方法,其特征在于,包括:任务调度器为第一计算单元确定第一计算任务,生成所述第一计算任务的负载信息,所述负载信息用于定义所述第一计算任务;处理器从所述任务调度器接收所述负载信息,将所述负载信息存储至存储器中的第一地址以将所述第一计算任务分配给所述第一计算单元,所述第一地址为所述第一计算单元的预留地址,其中,所述处理器与所述存储器和所述第一计算单元中的至少一个通过总线耦合,所述第一计算单元与所述存储器紧密耦合,所述紧密耦合无需经过任何总线,且所述第一计算单元能够以高于总线接入的速度接入所述存储器。
- 根据权利要求13所述的方法,其特征在于,所述将所述负载信息存储至存储器中的第一地址以将所述第一计算任务分配给所述第一计算单元,包括:通过直接存储访问DMA控制器将所述负载信息存储至所述第一地址以将所述第一计算任务分配给所述第一计算单元。
- 根据权利要求13或14所述的方法,其特征在于,所述任务调度器为系统软件或应用软件之外的专用任务调度器。
- 根据权利要求15所述的方法,其特征在于,所述任务调度器为第一计算单元确定第一计算任务,包括:所述任务调度器接收来自所述系统软件或所述应用软件的计算任务序列,在所述计算任务序列中为所述第一计算单元确定所述第一计算任务。
- 根据权利要求16所述的方法,其特征在于,所述方法还包括:在所述计算任务序列中为第二计算单元确定第二计算任务;将所述第二计算任务调度至第二计算单元;其中,所述第二计算单元包括所述处理器、图像处理单元、人工智能AI处理单元、数字信号处理器或专用逻辑电路中的至少一个,所述第二计算单元和所述存储器通过总线耦合。
- 根据权利要求16所述的方法,其特征在于,所述在所述计算任务序列中为所述第一计算单元确定所述第一计算任务,包括:根据计算列表,在所述计算任务序列中为所述第一计算单元确定所述第一计算任务,其中,所述计算列表包括所述第一计算单元支持的计算任务类型。
- 根据权利要求13-18中任一项所述的方法,其特征在于,所述负载信息包括如下信息中的至少一种:数据地址;数据维度;或控制命令字。
- 根据权利要求13-19中任一项所述的方法,其特征在于,所述紧密耦合包括近存计算耦合、存内计算耦合或存算一体耦合。
- 一种计算方法,其特征在于,包括:第一计算单元从存储器中的第一地址获取负载信息,并根据所述负载信息完成第一计算任务,其中,所述负载信息用于定义所述第一计算任务,所述第一地址为所述第一计算单元的预留地址;其中,所述第一计算单元与所述存储器紧密耦合,所述紧密耦合无需经过任何总线,且所述第一计算单元能够以高于总线接入的速度接入所述存储器;所述存储器和所述第一计算单元中的至少一个通过总线耦合至处理器。
- 根据权利要求21所述的方法,其特征在于,所述负载信息包括如下信息中的至少一种:数据地址;数据维度;或控制命令字。
- 根据权利要求21或22所述的方法,其特征在于,所述紧密耦合包括近存计算耦合、存内计算耦合或存算一体耦合。
- 根据权利要求21-23中任一项所述的方法,其特征在于,所述方法还包括:所述存储器在直接存储访问DMA控制器的操作下在所述第一地址写入所述负载信息。
- 一种计算机可读存储介质,其特征在于,包括:所述存储介质中存储有计算机程序或指令,当所述计算机程序或指令被通信装置执行时,使得如权利要求13-20中任一项所述的计算任务调度方法被执行,或者,使得如权利要求21-24中任一项所述的计算方法被执行。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/075123 WO2023142091A1 (zh) | 2022-01-29 | 2022-01-29 | 计算任务调度装置、计算装置、计算任务调度方法和计算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116897581A true CN116897581A (zh) | 2023-10-17 |
Family
ID=87470250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280004975.4A Pending CN116897581A (zh) | 2022-01-29 | 2022-01-29 | 计算任务调度装置、计算装置、计算任务调度方法和计算方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116897581A (zh) |
WO (1) | WO2023142091A1 (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69924475T2 (de) * | 1999-06-09 | 2006-02-16 | Texas Instruments Inc., Dallas | Multikanal-DMA mit Datenverkehrplanung auf die Ausgänge |
CN101630053A (zh) * | 2008-07-15 | 2010-01-20 | 鸿富锦精密工业(深圳)有限公司 | 微组合镜片装置及其制造方法 |
US10620994B2 (en) * | 2017-05-30 | 2020-04-14 | Advanced Micro Devices, Inc. | Continuation analysis tasks for GPU task scheduling |
EP4276625A3 (en) * | 2018-01-29 | 2024-01-24 | Micron Technology, Inc. | Memory controller |
CN110049130B (zh) * | 2019-04-22 | 2020-07-24 | 北京邮电大学 | 一种基于边缘计算的服务部署和任务调度方法及装置 |
EP3751776B1 (en) * | 2019-06-11 | 2024-01-10 | Comcast Cable Communications LLC | Wireless communications and control information transmission/reception |
CN111651253B (zh) * | 2020-05-28 | 2023-03-14 | 中国联合网络通信集团有限公司 | 算力资源的调度方法及装置 |
-
2022
- 2022-01-29 WO PCT/CN2022/075123 patent/WO2023142091A1/zh active Application Filing
- 2022-01-29 CN CN202280004975.4A patent/CN116897581A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023142091A1 (zh) | 2023-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8250164B2 (en) | Query performance data on parallel computer system having compute nodes | |
CN111630505B (zh) | 深度学习加速器系统及其方法 | |
US12061564B2 (en) | Network-on-chip data processing based on operation field and opcode | |
US20200409664A1 (en) | Transpose operations using processing element array | |
KR20130106392A (ko) | 다수의 메모리 채널들을 가진 컴퓨팅 시스템에서의 메모리 버퍼들의 할당 | |
CN116467061B (zh) | 一种任务执行的方法、装置、存储介质及电子设备 | |
CN118035618B (zh) | 数据处理器、数据处理方法、电子设备、存储介质 | |
CN108829530B (zh) | 一种图像处理方法及装置 | |
EP2689325B1 (en) | Processor system with predicate register, computer system, method for managing predicates and computer program product | |
CN116737083B (zh) | 存储器访问电路及存储器访问方法、集成电路和电子设备 | |
CN112631955A (zh) | 数据处理方法、装置、电子设备以及介质 | |
CN116897581A (zh) | 计算任务调度装置、计算装置、计算任务调度方法和计算方法 | |
CN115994040A (zh) | 计算系统以及进行数据广播和数据归约的方法及存储介质 | |
US12001382B2 (en) | Methods, apparatus, and articles of manufacture to generate command lists to be offloaded to accelerator circuitry | |
GB2617114A (en) | Multicore master/slave communications | |
CN116415100A (zh) | 业务处理方法、装置、处理器及计算设备 | |
CN114139700A (zh) | 一种基于cnn加速器的数据处理方法、装置及相关设备 | |
CN116483536B (zh) | 数据调度方法、计算芯片及电子设备 | |
CN112380158B (zh) | 一种面向深度学习的计算平台 | |
US20240220315A1 (en) | Dynamic control of work scheduling | |
CN110968370B (zh) | 一种数据处理方法及装置 | |
US20240220314A1 (en) | Data dependency-aware scheduling | |
CN110647984B (zh) | 芯片、集成处理设备及其操作方法 | |
EP4254311A1 (en) | Multicore master/slave communications | |
CN118133025A (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 |