CN117785489B - 一种服务器及一种任务执行方法、装置和存储介质 - Google Patents
一种服务器及一种任务执行方法、装置和存储介质 Download PDFInfo
- Publication number
- CN117785489B CN117785489B CN202410214089.5A CN202410214089A CN117785489B CN 117785489 B CN117785489 B CN 117785489B CN 202410214089 A CN202410214089 A CN 202410214089A CN 117785489 B CN117785489 B CN 117785489B
- Authority
- CN
- China
- Prior art keywords
- instruction
- accelerator
- memory
- processor
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000015654 memory Effects 0.000 claims abstract description 278
- 238000012545 processing Methods 0.000 claims description 35
- 238000012163 sequencing technique Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 230000009191 jumping Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 238000005265 energy consumption Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 9
- 230000003068 static effect Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Advance Control (AREA)
Abstract
本申请公开了一种服务器及一种任务执行方法、装置和存储介质,涉及计算机技术领域,该服务器包括处理器、处理器内存、与处理器连接的加速器,加速器包括加速器内存,处理器内存与加速器内存通过计算高速互联协议统一编址为统一内存;处理器,用于获取目标任务的原始数据,将原始数据存储至统一内存中,基于目标任务向加速器的寄存器中写入指令数据,从统一内存中获取目标任务的任务执行结果;加速器,用于根据寄存器中写入的指令数据生成指令,通过计算高速互联协议从统一内存中获取原始数据,基于原始数据执行指令完成目标任务,并将任务执行结果通过计算高速互联协议写入统一内存。本申请降低了任务执行的延迟和能耗。
Description
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种服务器及一种任务执行方法、装置和存储介质。
背景技术
目前主流的计算方式可以分为集中式数据中心和分布式的边缘计算,由于边缘计算场景中的应用程序在边缘侧发起,能更快的获得服务响应,满足消费端在实时业务、应用智能、安全与隐私保护等方面的基本需求。随着消费端在边缘计算所执行的任务变得的繁重和多样化,因此在边缘计算服务器中采用一些本地加速器实现执行任务的加速。在任务执行过程中,数据在处理器内存与加速器内存之间存在多次拷贝,任务执行的延迟和功耗较高。
因此,如何降低任务执行的延迟和功耗是本领域技术人员需要解决的技术问题。
发明内容
本申请的目的在于提供一种服务器及一种任务执行方法、装置和存储介质,降低了任务执行的延迟和功耗。
为实现上述目的,本申请提供了一种服务器,包括处理器、处理器内存、与所述处理器连接的加速器,所述加速器包括加速器内存,所述处理器内存与所述加速器内存通过计算高速互联协议统一编址为统一内存;
所述处理器,用于获取目标任务的原始数据,将所述原始数据存储至所述统一内存中,基于所述目标任务向所述加速器的寄存器中写入指令数据,从所述统一内存中获取目标任务的任务执行结果;
所述加速器,用于根据所述寄存器中写入的指令数据生成指令,通过计算高速互联协议从所述统一内存中获取所述原始数据,基于所述原始数据执行所述指令完成目标任务,并将任务执行结果通过计算高速互联协议写入所述统一内存。
其中,所述加速器包括计算高速互联核心、指令生成模块、加速器核心;
所述计算高速互联核心,用于与所述处理器通信;
所述指令生成模块,用于根据所述寄存器中写入的指令数据生成指令,并将所述指令发送至所述加速器核心;
所述加速器核心,用于通过计算高速互联协议从所述统一内存中获取所述原始数据,基于所述原始数据执行所述指令完成目标任务,并将任务执行结果通过计算高速互联协议写入所述统一内存。
其中,所述计算高速互联核心包括第一接口和第二接口,所述处理器通过所述第一接口向所述加速器的寄存器中写入数据,所述加速器通过所述第二接口访问所述统一内存。
其中,所述指令生成模块包括寄存器堆子模块、不同指令类型的指令对应的状态机、指令处理子模块;
所述寄存器堆子模块包括不同状态机对应的多个指令数据寄存器,用于存储不同指令类型对应的指令数据;
所述状态机,用于根据对应的指令数据寄存器中的指令数据生成对应指令类型的指令,并将所述指令发送至所述指令处理子模块;
所述指令处理子模块,用于对所述指令进行处理后发送至所述加速器核心。
其中,所述指令处理子模块具体用于:按照不同状态机的启动时间戳对不同状态机生成的指令进行排序,按照排序结果依次将不同状态机生成的指令发送至所述加速器核心。
其中,所述指令处理子模块还用于:若当前时间戳与目标状态机的启动时间戳的差值大于阈值,则复位所述目标状态机。
其中,所述寄存器堆子模块还包括不同状态机对应的启动信号寄存器和停止信号寄存器,所述启动信号寄存器用于描述所述状态机是否启动,所述停止信号寄存器用于描述所述指令数据是否写入完成。
其中,所述状态机处于空闲状态时,对应的启动信号寄存器为第一预设值,当检测到所述处理器将所述启动信号寄存器设置为第二预设值且超时复位信号为所述第一预设值时,所述状态机跳转至等待信息填充状态,并更新启动时间戳;
所述状态机处于所述等待信息填充状态时,等待所述处理器向对应的指令数据寄存器中填充指令数据,当检测到所述处理器将对应的停止信号寄存器设置为所述第二预设值且超时复位信号不为所述第一预设值时,所述状态机跳转至生成命令状态;
所述状态机处于所述生成命令状态时,根据对应的指令数据寄存器中的指令数据生成指令发送至所述指令处理子模块,并将对应的指令数据寄存器、启动信号寄存器、停止信号寄存器复位为所述第一预设值,所述状态机跳转至所述空闲状态。
其中,不同指令类型的指令包括加载指令、存储指令和执行指令,所述加载指令用于从所述统一内存中加载数据至所述加速器核心的缓存,所述存储指令用于从所述加速器核心的缓存存储数据至所述统一内存,所述执行指令用于执行操作。
其中,所述指令数据包括所述原始数据的物理地址,所述加速器用于基于所述物理地址从所述统一内存中获取所述原始数据。
其中,所述加速器为基于现场可编程逻辑门阵列实现的加速器。
其中,所述处理器通过高速串行计算机扩展总线标准协议接口连接所述加速器。
为实现上述目的,本申请提供了一种任务执行方法,应用于服务器中的处理器,所述服务器包括所述处理器、处理器内存、与所述处理器连接的加速器,所述加速器包括加速器内存,所述处理器内存与所述加速器内存通过计算高速互联协议统一编址为统一内存;所述方法包括:
获取目标任务的原始数据,将所述原始数据存储至所述统一内存中;
基于所述目标任务向所述加速器的寄存器中写入指令数据,以便所述加速器根据所述寄存器中写入的指令数据生成指令,通过计算高速互联协议从所述统一内存中获取所述原始数据,基于所述原始数据执行所述指令完成目标任务,并将任务执行结果通过计算高速互联协议写入所述统一内存;
从所述统一内存中获取任务执行结果。
其中,所述指令数据包括所述原始数据的物理地址,所述加速器用于基于所述物理地址从所述统一内存中获取所述原始数据。
其中,所述目标任务包括神经网络推理任务。
为实现上述目的,本申请提供了一种任务执行方法,应用于服务器中的加速器,所述服务器包括处理器、处理器内存、与所述处理器连接的所述加速器,所述加速器包括加速器内存,所述处理器内存与所述加速器内存通过计算高速互联协议统一编址为统一内存;所述方法包括:
根据处理器向寄存器中写入的指令数据生成指令;
通过计算高速互联协议从所述统一内存中获取原始数据,基于所述原始数据执行所述指令完成目标任务;
将任务执行结果通过计算高速互联协议写入所述统一内存。
其中,所述根据处理器向寄存器中写入的指令数据生成指令,包括:
利用不同指令类型的指令对应的状态机根据对应的指令数据寄存器中的指令数据生成对应指令类型的指令;
按照不同状态机的启动时间戳对不同状态机生成的指令进行排序,按照排序结果依次将不同状态机生成的指令发送至加速器核心执行;
若当前时间戳与目标状态机的启动时间戳的差值大于阈值,则复位所述目标状态机。
为实现上述目的,本申请提供了一种任务执行装置,应用于服务器中的处理器,所述服务器包括所述处理器、处理器内存、与所述处理器连接的加速器,所述加速器包括加速器内存,所述处理器内存与所述加速器内存通过计算高速互联协议统一编址为统一内存;所述装置包括:
存储单元,用于获取目标任务的原始数据,将所述原始数据存储至所述统一内存中;
第一写入单元,用于基于所述目标任务向所述加速器的寄存器中写入指令数据,以便所述加速器根据所述寄存器中写入的指令数据生成指令,通过计算高速互联协议从所述统一内存中获取所述原始数据,基于所述原始数据执行所述指令完成目标任务,并将任务执行结果通过计算高速互联协议写入所述统一内存;
获取单元,用于从所述统一内存中获取任务执行结果。
为实现上述目的,本申请提供了一种任务执行装置,应用于服务器中的加速器,所述服务器包括处理器、处理器内存、与所述处理器连接的所述加速器,所述加速器包括加速器内存,所述处理器内存与所述加速器内存通过计算高速互联协议统一编址为统一内存;所述装置包括:
生成单元,用于根据处理器向寄存器中写入的指令数据生成指令;
执行单元,用于通过计算高速互联协议从所述统一内存中获取原始数据,基于所述原始数据执行所述指令完成目标任务;
第二写入单元,用于将任务执行结果通过计算高速互联协议写入所述统一内存。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任务执行方法的步骤。
通过以上方案可知,本申请提供的一种服务器,包括处理器、处理器内存、与所述处理器连接的加速器,所述加速器包括加速器内存,所述处理器内存与所述加速器内存通过计算高速互联协议统一编址为统一内存;所述处理器,用于获取目标任务的原始数据,将所述原始数据存储至所述统一内存中,基于所述目标任务向所述加速器的寄存器中写入指令数据,从所述统一内存中获取目标任务的任务执行结果;所述加速器,用于根据所述寄存器中写入的指令数据生成指令,通过计算高速互联协议从所述统一内存中获取所述原始数据,基于所述原始数据执行所述指令完成目标任务,并将任务执行结果通过计算高速互联协议写入所述统一内存。
在本申请中,基于CXL(计算高速互联,Compute Express Link)协议将处理器内存与加速器内存进行统一编址,实现了处理器和加速器对统一编址的内存空间直接访问,减少了数据在处理器内存与加速器内存之间的拷贝次数,降低了任务执行的延迟和能耗。另外,处理器向加速器的寄存器写入指令数据,加速器根据寄存器中写入的指令数据生成指令,实现了处理器配置寄存器信息与加速器命令之间的转换,提供了处理器对加速器有效的控制逻辑,实现面向兼容CXL服务器主机的加速器独立部署。本申请还公开了一种任务执行装置及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1为基于GPU加速的服务器的结构图;
图2为根据一示例性实施例示出的一种服务器的结构图;
图3为根据一示例性实施例示出的一种加速器的结构图;
图4为根据一示例性实施例示出的一种指令生成模块的结构图;
图5为根据一示例性实施例示出的一种加速器核心的结构图;
图6为根据一示例性实施例示出的一种任务执行方法的流程图;
图7为根据一示例性实施例示出的另一种任务执行方法的流程图;
图8为根据一示例性实施例示出的一种任务执行装置的结构图;
图9为根据一示例性实施例示出的一种任务执行装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。另外,在本申请实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在相关技术中,通过GPU(Graphics Processing Unit,为图形处理器)对边缘计算服务器执行的任务进行加速,CPU(Central Processing Unit,中央处理器)与高速RDMA(Remote Direct Memory Access,远程直接数据存取)网卡、处理器内存、GPU通过PCIe(Peripheral Component Interconnect Express,高速串行计算机扩展总线标准)总线连接。
基于GPU加速的服务器如图1所示,CPU通过高速RDMA网卡接收执行任务所需要的原始数据放入处理器内存,GPU通过H2D(Host-to-Device,主机至设备)从处理器内存读取原始数据放入GPU内存,GPU加速核从GPU内存读取原始数据进行计算,并将结果数据写回GPU内存,CPU通过D2H(Device-to-Host,设备至主机)从GPU内存中读取结果数据写回处理器内存,并通过高速RDMA网卡从处理器内存读取结果数据发送给消费端。
其中,处理器内存和GPU内存均为片外DRAM。在上述方案中,数据在处理器内存与GPU内存之间存在多次拷贝,也即数据在片外DRAM之间存在多次拷贝,任务执行的延迟和功耗较高。
因此,在本申请中,基于CXL协议将处理器内存与加速器内存进行统一编址,实现了处理器和加速器对统一编址的内存空间直接访问,减少了数据在处理器内存与加速器内存之间的拷贝次数,降低了任务执行的延迟和能耗。另外,处理器向加速器的寄存器写入指令数据,加速器根据寄存器中写入的指令数据生成指令,实现了处理器配置寄存器信息与加速器命令之间的转换,提供了处理器对加速器有效的控制逻辑,实现面向兼容CXL服务器主机的加速器独立部署。
本申请实施例公开了一种服务器,如图2所示,包括处理器、处理器内存、与所述处理器连接的加速器,所述加速器包括加速器内存,所述处理器内存与所述加速器内存通过计算高速互联协议统一编址为统一内存;
所述处理器,用于获取目标任务的原始数据,将所述原始数据存储至所述统一内存中,基于所述目标任务向所述加速器的寄存器中写入指令数据,从所述统一内存中获取目标任务的任务执行结果;
所述加速器,用于根据所述寄存器中写入的指令数据生成指令,通过计算高速互联协议从所述统一内存中获取所述原始数据,基于所述原始数据执行所述指令完成目标任务,并将任务执行结果通过计算高速互联协议写入所述统一内存。
本实施例中的服务器可以为边缘计算服务器,包括处理器与加速器,处理器可以通过高速串行计算机扩展总线标准协议接口连接加速器。加速器可以为基于现场可编程逻辑门阵列(Field-Programmable Gate Array)实现的加速器。服务器中包括处理器内存,加速器中包括加速器内存,处理器内存与加速器内存通过CXL协议统一编址为统一内存。CXL协议是一种面向 CPU 和各类专用加速器的新型互联协议,以实现在主机和设备之间实现高效稳定的存储器访问,并支持缓存一致性。
CXL标准定义了三个子协议,分别为CXL.io协议、CXL.cache协议、CXL.mem协议,不同的设备支持不同的子协议,例如Type1设备支持CXL.io协议和CXL.cache协议,Type2设备全部的三种子协议,Type3设备支持CXL.io协议和CXL.mem协议。在Type2设备中两个内存被统一编址,形成统一内存。本实施例中的加速器相当于一个Type2设备。
可见,由于本实施例中的服务器实现了统一编址和数据一致性,相比于图1,来自网络的数据存放在统一内存之后,可以被处理器和加速器同时使用,减少了处理器内存与加速器内存之间的数据搬移。
作为一种可行的实施方式,所述加速器包括计算高速互联核心、指令生成模块、加速器核心;所述计算高速互联核心,用于与所述处理器通信;所述指令生成模块,用于根据所述寄存器中写入的指令数据生成指令,并将所述指令发送至所述加速器核心;所述加速器核心,用于通过计算高速互联协议从所述统一内存中获取所述原始数据,基于所述原始数据执行所述指令完成目标任务,并将任务执行结果通过计算高速互联协议写入所述统一内存。
在具体实施中,加速器的结构图如图3所示,包括计算高速互联核心、指令生成模块、加速器核心。计算高速互联核心为CXL协议的硬件电路实现,配合主机端的一系列软件,实现了CXL所提出的缓存一致性、统一内存编址等功能,即从系统的层面将处理器内存和加速器内存进行统一编址,并且由CXL协议和CPU端的某些软件负责实现物理上分离、逻辑上统一编址的两种内存在处理器和加速器这两个计算引擎之间的数据(缓存)一致性。
作为一种可行的实施方式,所述计算高速互联核心包括第一接口和第二接口,所述处理器通过所述第一接口向所述加速器的寄存器中写入数据,所述加速器通过所述第二接口访问所述统一内存。
在具体实施中,计算高速互联核心负责处理与处理器的通信,并为指令生成模块提供第一接口,用于读写指令生成模块中的寄存器。另外,计算高速互联核心为加速器核心提供第二接口,用于访问统一内存。
本实施例中的加速器核心可以基于开源项目Gemmini进行优化、修改后实现,原始的应用架构包括RISC-V(Reduced Instruction Set Computer-V,精简指令集计算机)处理器系统、Gemmini加速器,两者位于同一个芯片中,因为称它们组成了一个SoC(System onChip,系统级芯片)。Gemmini加速器物理上完全依附于RISC-V处理器,用于控制Gemmini加速器的命令为RoCC CMD(Rocket Chip Coprocessor Command),其也是RISC-V的指令格式。但是,在本实施例中,处理器与加速器位于不同的芯片上,处理器与加速器通过物理总线例如PCIe总线连接,从而实现两个芯片之间的通信,物理总线无法与RoCC CMD命令兼容,导致处理器无法控制Gemmini加速器。
因此,在本实施例中,在加速器中实现了指令生成模块,处理器通过计算高速互联核心所提供的第一接口,可以访问指令生成模块中的寄存器,指令生成模块会在内部不同的状态机的控制下,根据寄存器的值生成对应的不同的指令发送至加速器核心。
作为一种可行的实施方式,所述指令生成模块包括寄存器堆子模块、不同指令类型的指令对应的状态机、指令处理子模块;所述寄存器堆子模块包括不同状态机对应的多个指令数据寄存器,用于存储不同指令类型对应的指令数据;所述状态机,用于根据对应的指令数据寄存器中的指令数据生成对应指令类型的指令,并将所述指令发送至所述指令处理子模块;所述指令处理子模块,用于对所述指令进行处理后发送至所述加速器核心。
在具体实施中,指令生成模块如图4所示,处理器通过CXL配置寄存器堆子模块,寄存器堆子模块中的寄存器保存了用于生成RoCC CMD指令的信息或控制各个状态机的信息,每个寄存器均存在独立的地址,处理器通过CXL结合不同的地址就能访问不同的寄存器。
基于Gemmini实现的加速器核心如图5所示,指令生成模块生成的指令保存在原始指令缓存队列中,卷积命令展开模块用于对卷积命令进行展开,矩阵乘命令展开模块用于对矩阵乘命令进行展开,展开后的命令保存在展开后的命令缓存队列。不同类型的指令临时存储于保留站(Reservation Station)中,保留站是一种用于临时存储输数据的缓存,因为在执行某些操作之前,可能需要等待其他数据就绪。不同指令类型的指令包括加载指令、存储指令和执行指令,也即加速器核心包括加载操作控制器、存储操作控制器、执行操作控制器。加载指令用于从统一内存中加载数据至加速器核心的缓存,存储指令用于从加速器核心的缓存存储数据至统一内存,执行指令用于执行操作。加速器核心包括大型缓存队列,大型缓存队列包括DMA读写控制器、SRAM(静态随机存取存储器, Static Random-AccessMemory)缓存读写控制器、缓存,加载操作控制器通过DMA读写控制器从统一内存中加载数据至加速器核心的缓存,存储操作控制器通过DMA读写控制器从加速器核心的缓存存储数据至统一内存,执行操作控制器执行操作之后通过SRAM缓存读写控制器将执行结果存储至加速器核心的缓存中。
不同的状态机用于生成不同类型的指令,加速了指令生成效率,且避免了不同类型的指令之间的相互干扰,提高了指令生成的准确性。进一步的,由于不同类型指令之间、类型相同但具体操作不同的指令所需要配置的寄存器数量所有差别,因此可能存在处理器为生成某个指令(假设为指令A)先开始配置寄存器,为生成另一个指令(假设为指令B)后开始配置寄存器,但是由于指令A所需要配置的寄存器数量相对指令B更多,指令B的寄存器先配置完成而先产生指令B,指令A后产生,这与处理器所发起的操作的顺序不一致。
为了解决指令生成模块生成指令的顺序与处理器发起操作的顺序不一致的问题,指令生成模块中的指令处理子模块按照不同状态机的启动时间戳对不同状态机生成的指令进行排序,按照排序结果依次将不同状态机生成的指令发送至所述加速器核心。
在具体实施中,指令处理子模块追踪不同指令的状态机启动时刻的时间戳,也即处理器发起操作的时间戳,根据不同状态机启动时的时间戳顺序发送对应的指令给加速器核心,使得加速器核心接收到指令的顺序与处理器发起操作的顺序一致,避免了加速器核心执行指令的顺序发生错误。
进一步的,所述指令处理子模块还用于:若当前时间戳与目标状态机的启动时间戳的差值大于阈值,则复位所述目标状态机。在具体实施中,实时更新各状态机的当前时间戳,通过追踪不同指令的状态机的启动时刻的时间戳与当前时间戳的差值,当差值大于阈值时,强制复位该长时间未工作完成的状态机,以纠正错误,避免了指令生成失败导致的状态机长时间不可用。
不同的状态机均对应的多个指令数据寄存器,指令数据寄存器用于存储生成指令所需的指令数据。举例说明,每个状态机对应5个指令数据寄存器,每个指令数据寄存器均为32bit,那么每个状态机最多存储160bit的指令数据。每个状态机还可以存在对应的启动信号寄存器和停止信号寄存器,启动信号寄存器用于描述状态机是否启动,停止信号寄存器用于描述指令数据是否写入完成。
作为一种可行的实施方式,所述状态机处于空闲状态时,对应的启动信号寄存器为第一预设值,当检测到所述处理器将所述启动信号寄存器设置为第二预设值且超时复位信号为所述第一预设值时,所述状态机跳转至等待信息填充状态,并更新启动时间戳;所述状态机处于所述等待信息填充状态时,等待所述处理器向对应的指令数据寄存器中填充指令数据,当检测到所述处理器将对应的停止信号寄存器设置为所述第二预设值且超时复位信号不为所述第一预设值时,所述状态机跳转至生成命令状态;所述状态机处于所述生成命令状态时,根据对应的指令数据寄存器中的指令数据生成指令发送至所述指令处理子模块,并将对应的指令数据寄存器、启动信号寄存器、停止信号寄存器复位为所述第一预设值,所述状态机跳转至所述空闲状态。
在具体实施中,各状态机生成指令的状态机的工作流程如图6所示,状态机在通电之后的初始状态为空闲状态,当该状态机对应的启动信号寄存器为第一预设值(例如0)时,状态机将保持空闲状态。当状态机检测到处理器将对应的启动信号寄存器为写为第二预设值(例如1)且超时复位信号为0时,跳转到等待信息填充状态,同时更新该状态机的时间戳寄存器,表示该状态机开始工作的起始时间。
处理器将状态机对应的启动信号寄存器写为第二预设值后,会继续操作该状态机对应的指令数据寄存器,在这一期间,状态机维持等待信息填充状态;当等待时间过长,会被来自指令处理子模块的复位信号复位至空闲状态。
当处理器完成对状态机对应的指令数据寄存器的操作之后,会继续操作该状态机对应的停止信号状态机,将其写为第二预设值,该状态机检测到其停止信号寄存器为第二预设值且超时复位信号不为第一预设值时,将跳转到生成命令状态。
在生成命令状态下,指令生成模块将使用状态机对应的指令数据寄存器中的指令数据生成对应的指令发送至指令处理模块,同时复位该状态机在寄存器堆子模块中对应的所有寄存器和状态机内部的时间戳寄存器,此时无条件跳转到空闲状态。
另外,由于在原始的应用架构中RISC-V处理器系统、Gemmini加速器位于同一个芯片中,因此Gemmini访问L2缓存(二级缓存)或者DRAM时,均使用的是RoCC CMD命令给出的虚拟地址,在通过DMA读写控制器对L2缓存或DRAM进行访问时,需要先通过TLB(TranslationLookaside Buffer,地址转换后援缓冲器)处理模块将虚拟地址映射为物理地址,然后使用物理地址访问。TLB处理模块需要通过RoCC PTW(Post-Training Weighting Interface,后训练权重)接口与CPU进行物理地址与虚拟地址对应关系的更新,耗时较长,并且实现TLB处理模块本身也需要占用硬件资源。但是,在本实施例中,处理器与加速器位于不同的芯片上,无法进行TLB处理模块的地址映射操作,而计算高速互联核心接收到的数据访问请求均要求使用物理地址。
因此,在本实施例中,处理器配置寄存器时直接使用物理地址,也即所述指令数据包括所述原始数据的物理地址,所述加速器用于基于所述物理地址从所述统一内存中获取所述原始数据。在具体实施中,处理器将数据的物理地址存储在寄存器中,用于生成指令,加速器核心中的DMA读写控制器通过第二接口提供物理地址直接与计算高速互联核心相连,以访问统一内存,避免了虚拟地址与物理地址之间的转换,降低了加速器访问统一内存的延迟。
本实施例提供的服务器执行任务的流程为:处理器通过网络接收任务的原始数据,保存在统一内存的处理器内存中。处理器通过CXL接口控制指令生成模块生成指令,操作加速器在统一内存中直接进行处理器内存与加速器内存之间的数据存取操作,避免处理器内存与加速器内存之间的H2D数据拷贝操作。加速器执行任务计算,将任务执行结果保存在统一内存的加速器内存中,处理器直接将统一内存中的任务执行结果通过网络发送至客户端,避免处理器内存与加速器内存之间的D2H数据拷贝操作。
在本申请实施例中,基于CXL协议将处理器内存与加速器内存进行统一编址,实现了处理器和加速器对统一编址的内存空间直接访问,减少了数据在处理器内存与加速器内存之间的拷贝次数,降低了任务执行的延迟和能耗。另外,处理器向加速器的寄存器写入指令数据,加速器根据寄存器中写入的指令数据生成指令,实现了处理器配置寄存器信息与加速器命令之间的转换,提供了处理器对加速器有效的控制逻辑,实现面向兼容CXL服务器主机的加速器独立部署。
本申请实施例公开了一种任务执行方法,降低了任务执行的延迟和功耗。
参见图6,根据一示例性实施例示出的一种任务执行方法的流程图,如图6所示,包括:
S101:获取目标任务的原始数据,将所述原始数据存储至统一内存中;
本实施例的执行主体为服务器中的处理器,服务器包括处理器、处理器内存、与处理器连接的加速器,加速器包括加速器内存,处理器内存与加速器内存通过计算高速互联协议统一编址为统一内存,该服务器可以为边缘计算服务器。本实施例的目的在于通过加速器实现目标任务的加速执行,目标任务可以为神经网络推理任务。由于边缘计算服务器的算力、网络、内存等资源的限制,为了任务更好的执行效果,通常仅在边缘计算服务器中运行神经网络推理任务,而非神经网络训练任务。
在本步骤中,处理器通过网络接收目标任务的原始数据,保存在统一内存的处理器内存中。
S102:基于所述目标任务向加速器的寄存器中写入指令数据,以便所述加速器根据所述寄存器中写入的指令数据生成指令,通过计算高速互联协议从所述统一内存中获取所述原始数据,基于所述原始数据执行所述指令完成目标任务,并将任务执行结果通过计算高速互联协议写入所述统一内存;
在本步骤中,处理器通过CXL接口控制指令生成模块生成指令,操作加速器在统一内存中直接进行处理器内存与加速器内存之间的数据存取操作,避免处理器内存与加速器内存之间的H2D数据拷贝操作。加速器执行任务计算,将任务执行结果保存在统一内存的加速器内存中。
作为一种可行的实施方式,所述指令数据包括所述原始数据的物理地址,所述加速器用于基于所述物理地址从所述统一内存中获取所述原始数据。
在具体实施中,处理器配置寄存器时直接使用物理地址,也即处理器将数据的物理地址存储在寄存器中,用于生成指令,加速器核心中的DMA读写控制器通过第二接口提供物理地址直接与计算高速互联核心相连,以访问统一内存,避免了虚拟地址与物理地址之间的转换,降低了加速器访问统一内存的延迟。
S103:从所述统一内存中获取任务执行结果。
在本步骤中,处理器直接将统一内存中的任务执行结果通过网络发送至客户端,避免处理器内存与加速器内存之间的D2H数据拷贝操作。
在本申请实施例中,基于CXL协议将处理器内存与加速器内存进行统一编址,实现了处理器和加速器对统一编址的内存空间直接访问,减少了数据在处理器内存与加速器内存之间的拷贝次数,降低了任务执行的延迟和能耗。另外,处理器向加速器的寄存器写入指令数据,加速器根据寄存器中写入的指令数据生成指令,实现了处理器配置寄存器信息与加速器命令之间的转换,提供了处理器对加速器有效的控制逻辑,实现面向兼容CXL服务器主机的加速器独立部署。
本申请实施例公开了一种任务执行方法,具体的:
参见图7,根据一示例性实施例示出的另一种任务执行方法的流程图,如图7所示,包括:
S201:根据处理器向寄存器中写入的指令数据生成指令;
本实施例的执行主体为服务器中的加速器,服务器包括处理器、处理器内存、与处理器连接的加速器,加速器包括加速器内存,处理器内存与加速器内存通过计算高速互联协议统一编址为统一内存。本实施例的目的在于通过加速器实现目标任务的加速执行。
在具体实施中,处理器通过网络接收目标任务的原始数据,保存在统一内存的处理器内存中。处理器通过CXL接口向加速器的寄存器中写入的指令数据,加速器的指令生成模块根据寄存器中的指令数据生成指令。
作为一种可行的实施方式,所述根据处理器向寄存器中写入的指令数据生成指令,包括:利用不同指令类型的指令对应的状态机根据对应的指令数据寄存器中的指令数据生成对应指令类型的指令;按照不同状态机的启动时间戳对不同状态机生成的指令进行排序,按照排序结果依次将不同状态机生成的指令发送至加速器核心执行;若当前时间戳与目标状态机的启动时间戳的差值大于阈值,则复位所述目标状态机。
不同的状态机用于生成不同类型的指令,由于不同类型指令之间、类型相同但具体操作不同的指令所需要配置的寄存器数量所有差别,因此可能存在处理器为生成某个指令(假设为指令A)先开始配置寄存器,为生成另一个指令(假设为指令B)后开始配置寄存器,但是由于指令A所需要配置的寄存器数量相对指令B更多,指令B的寄存器先配置完成而先产生指令B,指令A后产生,这与处理器所发起的操作的顺序不一致。
为了解决指令生成模块生成指令的顺序与处理器发起操作的顺序不一致的问题,指令生成模块中的指令处理子模块按照不同状态机的启动时间戳对不同状态机生成的指令进行排序,按照排序结果依次将不同状态机生成的指令发送至所述加速器核心。
在具体实施中,指令处理子模块追踪不同指令的状态机启动时刻的时间戳,也即处理器发起操作的时间戳,根据不同状态机启动时的时间戳顺序发送对应的指令给加速器核心,使得加速器核心接收到指令的顺序与处理器发起操作的顺序一致。
进一步的,实时更新各状态机的当前时间戳,通过追踪不同指令的状态机的启动时刻的时间戳与当前时间戳的差值,当差值大于阈值时,强制复位该长时间未工作完成的状态机,以纠正错误,避免了指令生成失败导致的状态机长时间不可用。
各状态机生成指令的状态机的工作流程包括:状态机在通电之后的初始状态为空闲状态,当该状态机对应的启动信号寄存器为第一预设值(例如0)时,状态机将保持空闲状态。当状态机检测到处理器将对应的启动信号寄存器为写为第二预设值(例如1)且超时复位信号为0时,跳转到等待信息填充状态,同时更新该状态机的时间戳寄存器,表示该状态机开始工作的起始时间。
处理器将状态机对应的启动信号寄存器写为第二预设值后,会继续操作该状态机对应的指令数据寄存器,在这一期间,状态机维持等待信息填充状态;当等待时间过长,会被来自指令处理子模块的复位信号复位至空闲状态。
当处理器完成对状态机对应的指令数据寄存器的操作之后,会继续操作该状态机对应的停止信号状态机,将其写为第二预设值,该状态机检测到其停止信号寄存器为第二预设值且超时复位信号不为第一预设值时,将跳转到生成命令状态。
在生成命令状态下,指令生成模块将使用状态机对应的指令数据寄存器中的指令数据生成对应的指令发送至指令处理模块,同时复位该状态机在寄存器堆子模块中对应的所有寄存器和状态机内部的时间戳寄存器,此时无条件跳转到空闲状态。
S202:通过计算高速互联协议从统一内存中获取原始数据,基于所述原始数据执行所述指令完成目标任务;
在本步骤中,加速器通过CXL协议在统一内存中直接进行处理器内存与加速器内存之间的数据存取操作,避免处理器内存与加速器内存之间的H2D数据拷贝操作。进一步的,加速器基于获取的原始数据执行任务计算。
S203:将任务执行结果通过计算高速互联协议写入所述统一内存。
在本步骤中,加速器将任务执行结果保存在统一内存的加速器内存中,处理器直接将统一内存中的任务执行结果通过网络发送至客户端,避免处理器内存与加速器内存之间的D2H数据拷贝操作。
在本申请实施例中,基于CXL协议将处理器内存与加速器内存进行统一编址,实现了处理器和加速器对统一编址的内存空间直接访问,减少了数据在处理器内存与加速器内存之间的拷贝次数,降低了任务执行的延迟和能耗。另外,处理器向加速器的寄存器写入指令数据,加速器根据寄存器中写入的指令数据生成指令,实现了处理器配置寄存器信息与加速器命令之间的转换,提供了处理器对加速器有效的控制逻辑,实现面向兼容CXL服务器主机的加速器独立部署。
下面对本申请实施例提供的一种任务执行装置进行介绍,下文描述的一种任务执行装置与上文描述的一种任务执行方法可以相互参照。
参见图8,根据一示例性实施例示出的一种任务执行装置的结构图,如图8所示,包括:
存储单元101,用于获取目标任务的原始数据,将所述原始数据存储至所述统一内存中;
第一写入单元102,用于基于所述目标任务向所述加速器的寄存器中写入指令数据,以便所述加速器根据所述寄存器中写入的指令数据生成指令,通过计算高速互联协议从所述统一内存中获取所述原始数据,基于所述原始数据执行所述指令完成目标任务,并将任务执行结果通过计算高速互联协议写入所述统一内存;
获取单元103,用于从所述统一内存中获取任务执行结果。
在本申请实施例中,基于CXL协议将处理器内存与加速器内存进行统一编址,实现了处理器和加速器对统一编址的内存空间直接访问,减少了数据在处理器内存与加速器内存之间的拷贝次数,降低了任务执行的延迟和能耗。另外,处理器向加速器的寄存器写入指令数据,加速器根据寄存器中写入的指令数据生成指令,实现了处理器配置寄存器信息与加速器命令之间的转换,提供了处理器对加速器有效的控制逻辑,实现面向兼容CXL服务器主机的加速器独立部署。
在上述实施例的基础上,作为一种优选实施方式,所述指令数据包括所述原始数据的物理地址,所述加速器用于基于所述物理地址从所述统一内存中获取所述原始数据。
在上述实施例的基础上,作为一种优选实施方式,所述目标任务包括神经网络推理任务。
下面对本申请实施例提供的另一种任务执行装置进行介绍,下文描述的一种任务执行装置与上文描述的另一种任务执行方法可以相互参照。
参见图9,根据一示例性实施例示出的另一种任务执行装置的结构图,如图9所示,包括:
生成单元201,用于根据处理器向寄存器中写入的指令数据生成指令;
执行单元202,用于通过计算高速互联协议从所述统一内存中获取原始数据,基于所述原始数据执行所述指令完成目标任务;
第二写入单元203,用于将任务执行结果通过计算高速互联协议写入所述统一内存。
在本申请实施例中,基于CXL协议将处理器内存与加速器内存进行统一编址,实现了处理器和加速器对统一编址的内存空间直接访问,减少了数据在处理器内存与加速器内存之间的拷贝次数,降低了任务执行的延迟和能耗。另外,处理器向加速器的寄存器写入指令数据,加速器根据寄存器中写入的指令数据生成指令,实现了处理器配置寄存器信息与加速器命令之间的转换,提供了处理器对加速器有效的控制逻辑,实现面向兼容CXL服务器主机的加速器独立部署。
在上述实施例的基础上,作为一种优选实施方式,所述生成单元201具体用于:利用不同指令类型的指令对应的状态机根据对应的指令数据寄存器中的指令数据生成对应指令类型的指令;按照不同状态机的启动时间戳对不同状态机生成的指令进行排序,按照排序结果依次将不同状态机生成的指令发送至加速器核心执行;若当前时间戳与目标状态机的启动时间戳的差值大于阈值,则复位所述目标状态机。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器,上述计算机程序可由处理器执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM(磁性随机存取存储器,FerromagneticRandom Access Memory)、ROM(非易失性存储器可以是只读存储器,Read Only Memory)、PROM(可编程只读存储器,Programmable Read-Only Memory)、EPROM(可擦除可编程只读存储器,Erasable Programmable Read-Only Memory)、EEPROM(电可擦除可编程只读存储器,Electrically Erasable Programmable Read-Only Memory)、Flash Memory(快闪存储器)、磁表面存储器、光盘、CD-ROM(只读光盘,Compact Disc Read-Only Memory)、随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random AccessMemory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random AccessMemory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,Synchronous Dynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random AccessMemory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous DynamicRandom Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink DynamicRandom Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus RandomAccess Memory)等存储器。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、网络设备等)执行本申请各个实施例所述方法的全部或部分。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (18)
1.一种服务器,其特征在于,包括处理器、处理器内存、与所述处理器连接的加速器,所述加速器包括加速器内存,所述处理器内存与所述加速器内存通过计算高速互联协议统一编址为统一内存;
所述处理器,用于获取目标任务的原始数据,将所述原始数据存储至所述统一内存中,基于所述目标任务向所述加速器的寄存器中写入指令数据,从所述统一内存中获取目标任务的任务执行结果;
所述加速器,用于根据所述寄存器中写入的指令数据生成指令,通过计算高速互联协议从所述统一内存中获取所述原始数据,基于所述原始数据执行所述指令完成目标任务,并将任务执行结果通过计算高速互联协议写入所述统一内存;
其中,所述加速器包括计算高速互联核心、指令生成模块、加速器核心;
所述计算高速互联核心,用于与所述处理器通信;
所述指令生成模块,用于根据所述寄存器中写入的指令数据生成指令,并将所述指令发送至所述加速器核心;
所述加速器核心,用于通过计算高速互联协议从所述统一内存中获取所述原始数据,基于所述原始数据执行所述指令完成目标任务,并将任务执行结果通过计算高速互联协议写入所述统一内存;
其中,所述指令生成模块包括寄存器堆子模块、不同指令类型的指令对应的状态机、指令处理子模块;
所述寄存器堆子模块包括不同状态机对应的多个指令数据寄存器,用于存储不同指令类型对应的指令数据;
所述状态机,用于根据对应的指令数据寄存器中的指令数据生成对应指令类型的指令,并将所述指令发送至所述指令处理子模块;
所述指令处理子模块,用于对所述指令进行处理后发送至所述加速器核心。
2.根据权利要求1所述服务器,其特征在于,所述计算高速互联核心包括第一接口和第二接口,所述处理器通过所述第一接口向所述加速器的寄存器中写入数据,所述加速器通过所述第二接口访问所述统一内存。
3.根据权利要求1所述服务器,其特征在于,所述指令处理子模块具体用于:按照不同状态机的启动时间戳对不同状态机生成的指令进行排序,按照排序结果依次将不同状态机生成的指令发送至所述加速器核心。
4.根据权利要求1所述服务器,其特征在于,所述指令处理子模块还用于:若当前时间戳与目标状态机的启动时间戳的差值大于阈值,则复位所述目标状态机。
5.根据权利要求1所述服务器,其特征在于,所述寄存器堆子模块还包括不同状态机对应的启动信号寄存器和停止信号寄存器,所述启动信号寄存器用于描述所述状态机是否启动,所述停止信号寄存器用于描述所述指令数据是否写入完成。
6.根据权利要求5所述服务器,其特征在于,所述状态机处于空闲状态时,对应的启动信号寄存器为第一预设值,当检测到所述处理器将所述启动信号寄存器设置为第二预设值且超时复位信号为所述第一预设值时,所述状态机跳转至等待信息填充状态,并更新启动时间戳;
所述状态机处于所述等待信息填充状态时,等待所述处理器向对应的指令数据寄存器中填充指令数据,当检测到所述处理器将对应的停止信号寄存器设置为所述第二预设值且超时复位信号不为所述第一预设值时,所述状态机跳转至生成命令状态;
所述状态机处于所述生成命令状态时,根据对应的指令数据寄存器中的指令数据生成指令发送至所述指令处理子模块,并将对应的指令数据寄存器、启动信号寄存器、停止信号寄存器复位为所述第一预设值,所述状态机跳转至所述空闲状态。
7.根据权利要求1所述服务器,其特征在于,不同指令类型的指令包括加载指令、存储指令和执行指令,所述加载指令用于从所述统一内存中加载数据至所述加速器核心的缓存,所述存储指令用于从所述加速器核心的缓存存储数据至所述统一内存,所述执行指令用于执行操作。
8.根据权利要求1所述服务器,其特征在于,所述指令数据包括所述原始数据的物理地址,所述加速器用于基于所述物理地址从所述统一内存中获取所述原始数据。
9.根据权利要求1所述服务器,其特征在于,所述加速器为基于现场可编程逻辑门阵列实现的加速器。
10.根据权利要求1所述服务器,其特征在于,所述处理器通过高速串行计算机扩展总线标准协议接口连接所述加速器。
11.一种任务执行方法,其特征在于,应用于如权利要求1至10任一项所述服务器中的处理器,所述服务器包括所述处理器、处理器内存、与所述处理器连接的加速器,所述加速器包括加速器内存,所述处理器内存与所述加速器内存通过计算高速互联协议统一编址为统一内存;所述方法包括:
获取目标任务的原始数据,将所述原始数据存储至所述统一内存中;
基于所述目标任务向所述加速器的寄存器中写入指令数据,以便所述加速器根据所述寄存器中写入的指令数据生成指令,通过计算高速互联协议从所述统一内存中获取所述原始数据,基于所述原始数据执行所述指令完成目标任务,并将任务执行结果通过计算高速互联协议写入所述统一内存;
从所述统一内存中获取任务执行结果。
12.根据权利要求11所述任务执行方法,其特征在于,所述指令数据包括所述原始数据的物理地址,所述加速器用于基于所述物理地址从所述统一内存中获取所述原始数据。
13.根据权利要求11所述任务执行方法,其特征在于,所述目标任务包括神经网络推理任务。
14.一种任务执行方法,其特征在于,应用于如权利要求1至10任一项所述服务器中的加速器,所述服务器包括处理器、处理器内存、与所述处理器连接的所述加速器,所述加速器包括加速器内存,所述处理器内存与所述加速器内存通过计算高速互联协议统一编址为统一内存;所述方法包括:
根据处理器向寄存器中写入的指令数据生成指令;
通过计算高速互联协议从所述统一内存中获取原始数据,基于所述原始数据执行所述指令完成目标任务;
将任务执行结果通过计算高速互联协议写入所述统一内存。
15.根据权利要求14所述任务执行方法,其特征在于,所述根据处理器向寄存器中写入的指令数据生成指令,包括:
利用不同指令类型的指令对应的状态机根据对应的指令数据寄存器中的指令数据生成对应指令类型的指令;
按照不同状态机的启动时间戳对不同状态机生成的指令进行排序,按照排序结果依次将不同状态机生成的指令发送至加速器核心执行;
若当前时间戳与目标状态机的启动时间戳的差值大于阈值,则复位所述目标状态机。
16.一种任务执行装置,其特征在于,应用于如权利要求1至10任一项所述服务器中的处理器,所述服务器包括所述处理器、处理器内存、与所述处理器连接的加速器,所述加速器包括加速器内存,所述处理器内存与所述加速器内存通过计算高速互联协议统一编址为统一内存;所述装置包括:
存储单元,用于获取目标任务的原始数据,将所述原始数据存储至所述统一内存中;
第一写入单元,用于基于所述目标任务向所述加速器的寄存器中写入指令数据,以便所述加速器根据所述寄存器中写入的指令数据生成指令,通过计算高速互联协议从所述统一内存中获取所述原始数据,基于所述原始数据执行所述指令完成目标任务,并将任务执行结果通过计算高速互联协议写入所述统一内存;
获取单元,用于从所述统一内存中获取任务执行结果。
17.一种任务执行装置,其特征在于,应用于如权利要求1至10任一项所述服务器中的加速器,所述服务器包括处理器、处理器内存、与所述处理器连接的所述加速器,所述加速器包括加速器内存,所述处理器内存与所述加速器内存通过计算高速互联协议统一编址为统一内存;所述装置包括:
生成单元,用于根据处理器向寄存器中写入的指令数据生成指令;
执行单元,用于通过计算高速互联协议从所述统一内存中获取原始数据,基于所述原始数据执行所述指令完成目标任务;
第二写入单元,用于将任务执行结果通过计算高速互联协议写入所述统一内存。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被执行时实现如权利要求11至15任一项所述任务执行方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410214089.5A CN117785489B (zh) | 2024-02-27 | 2024-02-27 | 一种服务器及一种任务执行方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410214089.5A CN117785489B (zh) | 2024-02-27 | 2024-02-27 | 一种服务器及一种任务执行方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117785489A CN117785489A (zh) | 2024-03-29 |
CN117785489B true CN117785489B (zh) | 2024-05-10 |
Family
ID=90385853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410214089.5A Active CN117785489B (zh) | 2024-02-27 | 2024-02-27 | 一种服务器及一种任务执行方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117785489B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109101439A (zh) * | 2017-06-21 | 2018-12-28 | 深圳市中兴微电子技术有限公司 | 一种报文处理的方法及装置 |
CN115981751A (zh) * | 2023-03-10 | 2023-04-18 | 之江实验室 | 一种近存计算系统以及近存计算方法、装置、介质及设备 |
CN115994107A (zh) * | 2023-03-22 | 2023-04-21 | 苏州浪潮智能科技有限公司 | 存储设备的存取加速系统 |
CN116521429A (zh) * | 2023-06-27 | 2023-08-01 | 苏州浪潮智能科技有限公司 | 资产信息的上报方法及装置、存储介质及电子设备 |
CN116886751A (zh) * | 2023-09-04 | 2023-10-13 | 浪潮(北京)电子信息产业有限公司 | 一种异构设备的高速通信方法、装置和异构通信系统 |
WO2023197520A1 (zh) * | 2022-04-14 | 2023-10-19 | 苏州浪潮智能科技有限公司 | 一种数据处理方法、系统、设备及可读存储介质 |
CN117312229A (zh) * | 2023-11-29 | 2023-12-29 | 苏州元脑智能科技有限公司 | 一种数据传输装置、数据处理设备、系统、方法及介质 |
CN117312215A (zh) * | 2023-11-28 | 2023-12-29 | 苏州元脑智能科技有限公司 | 一种服务器系统、作业执行方法、装置及设备和介质 |
CN117493237A (zh) * | 2023-12-29 | 2024-02-02 | 苏州元脑智能科技有限公司 | 计算设备、服务器、数据处理方法和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11176042B2 (en) * | 2019-05-21 | 2021-11-16 | Arm Limited | Method and apparatus for architectural cache transaction logging |
-
2024
- 2024-02-27 CN CN202410214089.5A patent/CN117785489B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109101439A (zh) * | 2017-06-21 | 2018-12-28 | 深圳市中兴微电子技术有限公司 | 一种报文处理的方法及装置 |
WO2023197520A1 (zh) * | 2022-04-14 | 2023-10-19 | 苏州浪潮智能科技有限公司 | 一种数据处理方法、系统、设备及可读存储介质 |
CN115981751A (zh) * | 2023-03-10 | 2023-04-18 | 之江实验室 | 一种近存计算系统以及近存计算方法、装置、介质及设备 |
CN115994107A (zh) * | 2023-03-22 | 2023-04-21 | 苏州浪潮智能科技有限公司 | 存储设备的存取加速系统 |
CN116521429A (zh) * | 2023-06-27 | 2023-08-01 | 苏州浪潮智能科技有限公司 | 资产信息的上报方法及装置、存储介质及电子设备 |
CN116886751A (zh) * | 2023-09-04 | 2023-10-13 | 浪潮(北京)电子信息产业有限公司 | 一种异构设备的高速通信方法、装置和异构通信系统 |
CN117312215A (zh) * | 2023-11-28 | 2023-12-29 | 苏州元脑智能科技有限公司 | 一种服务器系统、作业执行方法、装置及设备和介质 |
CN117312229A (zh) * | 2023-11-29 | 2023-12-29 | 苏州元脑智能科技有限公司 | 一种数据传输装置、数据处理设备、系统、方法及介质 |
CN117493237A (zh) * | 2023-12-29 | 2024-02-02 | 苏州元脑智能科技有限公司 | 计算设备、服务器、数据处理方法和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117785489A (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11042297B2 (en) | Techniques to configure a solid state drive to operate in a storage mode or a memory mode | |
US20200401829A1 (en) | Picture processing method, and task data processing method and apparatus | |
CN100592271C (zh) | 使用集成dma引擎进行高性能易失性磁盘驱动器存储器访问的装置和方法 | |
CN111309649B (zh) | 一种数据传输和任务处理方法、装置及设备 | |
WO2020177577A1 (zh) | 一种控制器加载多核固件的方法、装置及计算机设备 | |
US11068283B2 (en) | Semiconductor apparatus, operation method thereof, and stacked memory apparatus having the same | |
EP0348240A2 (en) | Microprocessor equipped with parity control unit on same chip | |
CN109240943B (zh) | 地址映射关系反馈方法、装置、设备及可读存储介质 | |
US20210200584A1 (en) | Multi-processor system, multi-core processing device, and method of operating the same | |
CN117785489B (zh) | 一种服务器及一种任务执行方法、装置和存储介质 | |
US20050172287A1 (en) | Bus management techniques | |
US6862675B1 (en) | Microprocessor and device including memory units with different physical addresses | |
CN111177027A (zh) | 动态随机存取存储器、内存管理方法、系统及存储介质 | |
CN110765060A (zh) | Mdio总线到并行总线转换方法及装置、设备、介质 | |
CN112433847B (zh) | 一种OpenCL内核提交的方法及装置 | |
CN112860595B (zh) | Pci设备或pcie设备、数据存取方法及相关组件 | |
CN115202808A (zh) | 一种用于虚拟化环境中片上系统的dma方法及系统 | |
US8593472B1 (en) | System and method for accessing a frame buffer via a storage driver | |
US11392406B1 (en) | Alternative interrupt reporting channels for microcontroller access devices | |
CN114564241A (zh) | 硬件设备的访问方法、装置、计算机设备和存储介质 | |
JP2023527770A (ja) | メモリにおける推論 | |
CN105867847A (zh) | 访存控制方法、装置及系统 | |
CN112035056A (zh) | 一种基于多计算单元的并行ram访问架构及访问方法 | |
CN111930527A (zh) | 一种多核异构平台维护cache一致性的方法 | |
US10180847B2 (en) | Circuitry for configuring entities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |