CN116627893A - 加速引擎配置方法、装置、并行数估计系统、设备及介质 - Google Patents

加速引擎配置方法、装置、并行数估计系统、设备及介质 Download PDF

Info

Publication number
CN116627893A
CN116627893A CN202310878296.6A CN202310878296A CN116627893A CN 116627893 A CN116627893 A CN 116627893A CN 202310878296 A CN202310878296 A CN 202310878296A CN 116627893 A CN116627893 A CN 116627893A
Authority
CN
China
Prior art keywords
acceleration
data
acceleration engine
heterogeneous
engine
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.)
Granted
Application number
CN202310878296.6A
Other languages
English (en)
Other versions
CN116627893B (zh
Inventor
黄广奎
李仁刚
张闯
任智新
王敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310878296.6A priority Critical patent/CN116627893B/zh
Publication of CN116627893A publication Critical patent/CN116627893A/zh
Application granted granted Critical
Publication of CN116627893B publication Critical patent/CN116627893B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明提供一种加速引擎配置方法、装置、并行数估计系统、设备及介质,涉及计算机技术领域,该方法包括:获取待测异构加速卡中加速引擎的最大并行数M;获取个加速引擎对预设容量的数据进行数据处理所耗费的时长,作为第标识对应的时长,依次取1,2,…,M;基于所有标识对应的时长,获取与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数,目标数据传输通道用于向待测异构加速卡传输数据。本发明提供的加速引擎配置方法、装置、并行数估计系统、设备及介质,能更准确、更高效地估计与数据通道的带宽相匹配的加速引擎并行数,能降低加速引擎配置的时间成本投入和人工成本投入,能避免计算资源或带宽的浪费。

Description

加速引擎配置方法、装置、并行数估计系统、设备及介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种加速引擎配置方法、装置、并行数估计系统、设备及介质。
背景技术
随着人工智能及大数据技术的快速发展,数据中心的数据成倍增长,对数据中心的计算力的需求呈现指数级的提高。为了提高数据中心的计算力,异构加速卡在数据中心得到了广泛应用。
通常情况下,现场可编程逻辑门阵列(Field Programmable GateArray,FPGA)异构加速卡通过高速串行点对点双通道高带宽传输(peripheral component interconnectexpress,PCIE)接口连接中央处理器(Center Processing Unit,CPU)。CPU通过PCIE接口将部分数据传输至双倍速率同步动态随机存储器(Double Data Rate SDRAM,DDR)之后,DDR可以将上述数据传输至FPGA异构加速卡中并行的各加速引擎,以供上述各加速引擎对上述数据进行数据处理,从而可以提高CPU的数据处理速度,并释放CPU的部分计算资源。
但是,若FPGA异构加速卡中加速引擎的并行数,与DDR与各加速引擎之间数据通道的带宽不匹配,则会导致资源的浪费。而现有技术中难以准确、高效地估计与数据通道的带宽相匹配的加速引擎并行数,进而导致难以准确、高效地为FPGA异构加速卡配置与数据通道的带宽相匹配的加速引擎。因此,如何更准确、更高效地为FPGA异构加速卡配置与数据通道的带宽相匹配的加速引擎,是本领域亟待解决的技术问题。
发明内容
本发明提供一种加速引擎配置方法、装置、并行数估计系统、设备及介质,用以解决现有技术中难以准确、高效地为FPGA异构加速卡配置与数据通道的带宽相匹配的加速引擎的缺陷,实现更准确、更高效地为FPGA异构加速卡配置与数据通道的带宽相匹配的加速引擎。
本发明提供一种加速引擎配置方法,包括:
获取待测异构加速卡中加速引擎的最大并行数M
执行第i次测试,调用i个所述加速引擎对预设容量的数据进行数据处理,在i个所述加速引擎完成对所述预设容量的数据的数据处理的情况下,完成第i次测试,i增大1,重复上述测试步骤,直至完成第M次测试,依次取1,2,…,M-1,M
获取i个所述加速引擎对所述预设容量的数据进行数据处理所耗费的时长,作为第i标识对应的时长;
基于所有所述标识对应的时长,获取与目标数据传输通道的带宽相匹配的所述待测异构加速卡中所述加速引擎的估计并行数,所述目标数据传输通道用于向所述待测异构加速卡传输数据;
基于所述估计并行数,在所述待测异构加速卡中配置所述估计并行数个所述加速引擎。
根据本发明提供的一种加速引擎配置方法,所述基于所有所述标识对应的时长,获取与目标数据传输通道的带宽相匹配的所述待测异构加速卡中所述加速引擎的估计并行数,包括:
在第标识对应的时长,与所述第/>标识的第一对比标识对应的时长之间的差值中的至少一个处于第一预设区间内的情况下,将/>确定为所述估计并行数;
其中,所述第标识的第一对比标识包括第/>+1标识、第/>+2标识、…、第/>+N-1标识以及第/>+N标识,N是根据M确定的正整数,X=M-N。
根据本发明提供的一种加速引擎配置方法,所述基于所有所述标识对应的时长,获取与目标数据传输通道的带宽相匹配的所述待测异构加速卡中所述加速引擎的估计并行数,包括:
判断第M标识对应的时长,与所述第M标识的第二对比标识对应的时长之间的差值是否均未处于第二预设区间内;
若所述第M标识对应的时长,与所述第M标识的第二对比标识对应的时长之间的差值均未处于第二预设区间内,则将M确定为所述估计并行数,
若所述第M标识对应的时长,与所述第M标识的第二对比标识对应的时长之间的差值中的至少一个处于第二预设区间内,则M减1,并重复上述判断过程,直至在第y标识对应的时长,与所述第y标识的第二对比标识对应的时长之间的差值均未处于第二预设区间内的情况下,将y确定为所述估计并行数,或者直至在第标识对应的时长,与所述第标识的第二对比标识对应的时长之间的差值中的至少一个处于第二预设区间内的情况下,将/>确定为所述估计并行数;
其中,第z标识的第二对比标识包括第z-1标识、…、第z-Y+1标识以及第z-Y标识,Y为基于M确定的预设值,YNz指代大于等于N小于等于M的正整数;y指代小于M大于N的正整数。
根据本发明提供的一种加速引擎配置方法,所述基于所有所述标识对应的时长,获取与目标数据传输通道的带宽相匹配的所述待测异构加速卡中所述加速引擎的估计并行数,包括:
在任意相邻两个标识对应的时长的差值均不处于第三预设区间内的情况下,将M确定为所述估计并行数。
根据本发明提供的一种加速引擎配置方法,所述获取待测异构加速卡中加速引擎的最大并行数M,包括:
基于所述待测异构加速卡的资源总数以及一个所述加速引擎运行所需占用的资源数,确定所述最大并行数M
根据本发明提供的一种加速引擎配置方法,所述调用i个所述加速引擎对所述预设容量的数据进行数据处理,在i个所述加速引擎完成对所述预设容量的数据的数据处理的情况下,完成第i次测试,包括:
i个所述加速引擎发送调用指令,以供i个所述加速引擎中的任一加速引擎在接收到所述调用指令且处于目标状态的情况下,返回所述任一加速引擎的第1个读请求消息;
在接收到所述任一加速引擎的第1个读请求消息的情况下,向所述任一加速引擎发送单位容量的数据,以供所述任一加速引擎在完成对所述单位容量的数据的数据处理之后,再次返回一个所述任一加速引擎的读请求消息;
重复上述数据分发的步骤,直至向i个所述加速引擎中的每一加速引擎分发完成所述预设容量的数据。
根据本发明提供的一种加速引擎配置方法,所述获取i个所述加速引擎对所述预设容量的数据进行数据处理所耗费的时长,作为第i标识对应的时长,包括:
在所述第i次测试中首次接收到所述读请求消息的情况下,向计时器发送所述第i次测试的启动消息,以供所述计时器响应于所述第i次测试的启动消息,开始所述第i次测试的计时,所述任一加速引擎的第1个读请求消息,是所述任一加速引擎在接收到所述调用指令且处于目标状态的情况下发送的;
在所述第i次测试中向i个所述加速引擎中的每一加速引擎分发完成所述预设容量的数据的情况下,向所述计时器发送所述完成消息,以供所述计时器响应于所述完成消息,结束所述第i次测试的计时;
获取所述计时器在所述第i次测试中采集到的计时数据,基于所述第i次测试中采集到的计时数据,获取i个所述加速引擎对预设容量的数据进行数据处理所需的时长,作为第i标识对应的时长。
根据本发明提供的一种加速引擎配置方法,完成第i次测试的时刻,与开始执行第i+1次测试的时刻之间间隔预设时长。
根据本发明提供的一种加速引擎配置方法,所述加速引擎对所述预设容量的数据进行数据处理的处理逻辑是预定义的。
根据本发明提供的一种加速引擎配置方法,所述待测异构加速卡为现场可编程逻辑门阵列异构加速卡。
本发明还提供一种加速引擎配置装置,包括:
数据获取模块,用于获取待测异构加速卡中加速引擎的最大并行数M
测试模块,用于执行第i次测试,调用i个所述加速引擎对预设容量的数据进行数据处理,在i个所述加速引擎完成对所述预设容量的数据的数据处理的情况下,完成第i次测试,i增大1,重复上述测试步骤,直至完成第M次测试,依次取1,2,…,M-1,M
时长获取模块,用于获取i个所述加速引擎对所述预设容量的数据进行数据处理所耗费的时长,作为第i标识对应的时长;
并行度估计模块,用于基于所有所述标识对应的时长,获取与目标数据传输通道的带宽相匹配的所述待测异构加速卡中所述加速引擎的估计并行数,所述目标数据传输通道用于向所述待测异构加速卡传输数据;
加速引擎配置模块,用于基于所述估计并行数,在所述待测异构加速卡中配置所述估计并行数个所述加速引擎。
本发明还提供一种并行数估计系统,包括:并行控制器和多个加速引擎;所述并行控制器与每一所述加速引擎电连接;
所述并行控制器用于获取待测异构加速卡中加速引擎的最大并行数M,执行第i次测试,调用i个所述加速引擎对预设容量的数据进行数据处理,在i个所述加速引擎完成对所述预设容量的数据的数据处理的情况下,完成第i次测试,i增大1,重复上述测试步骤,直至完成第M次测试,依次取1,2,…,M-1,M,获取i个所述加速引擎对所述预设容量的数据进行数据处理所耗费的时长,作为第i标识对应的时长,基于所有所述标识对应的时长,获取与目标数据传输通道的带宽相匹配的所述待测异构加速卡中所述加速引擎的估计并行数,所述目标数据传输通道用于向所述待测异构加速卡传输数据;
所述加速引擎用于响应于所述并行控制器的调用,对预设容量的数据进行数据处理。
根据本发明提供的一种并行数估计系统,还包括:计时器;
所述计时器用于在接收到第i次测试的启动消息的情况下,开始所述第i次测试的计时,在接收到所述第i次测试的完成消息的情况下,结束所述第i次测试的计时,并将所述第i次测试中采集到的计时数据发送至所述并行控制器;
所述并行控制器还用于基于所述第i次测试中采集到的计时数据,获取i个所述加速引擎对预设容量的数据进行数据处理所需的时长,作为第i标识对应的时长。
根据本发明提供的一种并行数估计系统,还包括:数据分发单元;
所述数据分发单元用于从存储器获取所述预设容量的数据,并在接收到任一加速引擎发送的读请求消息的情况下,向所述任一加速引擎发送单位容量的数据,直至向所述任一加速引擎分发完成所述预设容量的数据;
其中,所述任一加速引擎的第1个读请求消息,是所述任一加速引擎在接收到所述并行控制器发送的调用指令且处于目标状态的情况下向所述数据分发单元发送的,除所述任一加速引擎的第1个读请求消息之外所述任一加速引擎其他的读请求消息,是所述任一加速引擎完成对接收到的所述单位容量的数据的数据处理的情况下向所述数据分发单元发送的。
根据本发明提供的一种并行数估计系统,所述数据分发单元还用于在所述第i次测试中首次接收到所述读请求消息的情况下,向所述计时器发送所述第i次测试的启动消息;
所述数据分发单元还用于在所述第i次测试中向i个所述加速引擎中的每一加速引擎分发完成所述预设容量的数据的情况下,向所述计时器发送所述第i次测试的完成消息。
根据本发明提供的一种并行数估计系统,还包括:计时寄存器;
所述计时器还用于在所述第i次测试中,在接收到所述第i次测试的完成消息的时刻起已经过预设时长的情况下,将所述第i次测试中采集到的计时数据,作为第i标识对应的计时数据存储至所述计时寄存器中;
所述并行控制器还用于从所述计时寄存器中读取所述第i标识对应的计时数据,并基于所述第i标识对应的计时数据,获取i个所述加速引擎对预设容量的数据进行数据处理所需的时长,作为第i标识对应的时长。
根据本发明提供的一种并行数估计系统,还包括:所述存储器;所述存储器与所述数据分发单元电连接。
根据本发明提供的一种并行数估计系统,还包括:配置控制器;所述配置控制器与所述并行控制器电连接;
所述配置控制器用于基于所述估计并行数,在所述待测异构加速卡中配置所述估计并行数个所述加速引擎。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述加速引擎配置方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述加速引擎配置方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述加速引擎配置方法。
本发明提供的加速引擎配置方法、装置、并行数估计系统、设备及介质,通过获取待测异构加速卡中加速引擎的最大并行数M之后,执行第i次测试,调用i个加速引擎对预设容量的数据进行数据处理,在i个加速引擎完成对预设容量的数据的数据处理的情况下,完成第i次测试,i增大1,重复上述测试步骤,直至完成第M次测试,获取i个加速引擎对预设容量的数据进行数据处理所耗费的时长,作为第i标识对应的时长,基于所有标识对应的时长,获取与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数,能更准确、更高效地估计与数据通道的带宽相匹配的加速引擎并行数,进而能基于待测异构加速卡中加速引擎的估计并行数,更准确、更高效地为待测异构加速卡配置加速引擎,能降低加速引擎配置的时间成本投入和人工成本投入,能避免计算资源的浪费或带宽的浪费。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中FPGA异构加速卡进行异构加速的原理示意图;
图2是本发明提供的加速引擎配置方法的流程示意图;
图3是本发明提供的加速引擎配置装置的结构示意图;
图4是本发明提供的电子设备的结构示意图;
图5是本发明提供的并行数估计系统的结构示意图;
图6是本发明提供的并行数估计系统的信令交互图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
需要说明的是,在FPGA异构加速卡中,加速引擎通常指的是特定的硬件模块或设计,用于执行特定的计算任务或加速特定的应用程序。这些加速引擎是通过FPGA上的可编程逻辑实现的,允许在硬件级别上执行高度并行和定制化的计算。
在FPGA异构加速卡中,加速引擎可以根据应用的需求进行定制。具体的加速引擎类型和功能取决于FPGA异构加速卡的设计和应用的需求。
图1为现有技术中FPGA异构加速卡进行异构加速的原理示意图。如图1所示,FPGA异构加速卡通过PCIE接口连接CPU。
CPU通过PCIE接口将部分数据传输至DDR之后,DDR可以将上述数据传输至FPGA异构加速卡中的分配模块。其中,DDR与FPGA异构加速卡中并行的各加速引擎,是通过DDR与每一加速引擎之间的数据通道进行数据传输。
分配模块可以将上述数据分别发送FPGA异构加速卡中并行的各加速引擎,以供上述各加速引擎对上述数据进行数据处理,并将获取到数据处理结果发送至DDR。
FPGA异构加速卡可以提高CPU的数据处理速度,并可以释放CPU的部分计算资源。如图1所示,FPGA异构加速卡的异构加速效果,与FPGA异构加速卡中加速引擎的并行数正相关。
而影响FPGA异构加速卡中加速引擎的并行数的因素主要包括资源因素和带宽因素。其中,资源因素指FPGA异构加速卡的资源总数对FPGA异构加速卡中加速引擎的并行数的影响,带宽因素指DDR与各加速引擎之间的数据通道的带宽对FPGA异构加速卡中加速引擎的并行数的影响。
具体地,FPGA异构加速卡中的每一加速引擎都需要消耗一定的资源,若加速引擎消耗的资源较多或FPGA异构加速卡的资源总数较小,则FPGA异构加速卡中加速引擎的并行数较小。
资源因素影响下,FPGA异构加速卡中加速引擎的并行数,等于FPGA异构加速的资源总数,与一个加速引擎所需占用的资源数之商。
数据通过DDR与每一加速引擎之间的数据通道传输至每一加速引擎时,DDR与各加速引擎之间的数据通道的带宽也会限制FPGA异构加速卡中加速引擎的并行数。
带宽因素影响下,FPGA异构加速卡中加速引擎的并行数,等于DDR与各加速引擎之间的数据通道的带宽,与一个加速引擎的处理带宽之商。
由于整个数据通道上有很多不同模块的握手处理,以及仲裁效率等因素,经常会出现FPGA异构加速卡中加速引擎的并行数,与DDR与各加速引擎之间数据通道的带宽不匹配的情况。
而在FPGA异构加速卡中加速引擎的并行数,与DDR与各加速引擎之间数据通道的带宽不匹配的情况下,会造成计算资源的浪费或带宽的浪费。
相关技术中,可以通过预估一个理论上的并行度之后,尝试编译,根据编译后的资源利用率情况和实际带宽测试结果,修改源代码设计,逐渐增加并行度,然后再不断的编译和测试,确定与带宽相匹配的加速引擎并行数。
但是,随着FPGA资源的增大,编译一次的时间越来越长。对于大容量的FPGA异构加速卡,编译一次的时间多大4-5小时以上。并在针对每次编译,都需要更改代码,都需要测试,极大的浪费了研发人员的研发时间。因此,如何更准确、更高效地估计与数据通道的带宽相匹配的加速引擎并行数,是本领域亟待解决的技术问题。
对此,本发明提供一种加速引擎配置方法。基于本发明提供的加速引擎配置方法,可以更准确、更高效地估计与数据通道的带宽相匹配的加速引擎并行数,能降低加速引擎配置的时间成本投入和人工成本投入,能避免计算资源的浪费或带宽的浪费。
图2是本发明提供的加速引擎配置方法的流程示意图。下面结合图2描述本发明的加速引擎配置方法。如图2所示,该方法包括:步骤201、获取待测异构加速卡中加速引擎的最大并行数M
需要说明的是,本发明实施例的执行主体为加速引擎配置装置。
具体地,待测异构加速卡为本发明提供的加速引擎并行估计方法的估计对象。本发明实施例中可以将DDR与待测异构加速卡之间的数据传输通道确定为目标数据传输通道。基于本发明提供的加速引擎配置方法,可以估计得到与上述目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数。
需要说明的是,本发明实施例中待测异构加速卡中加速引擎的功能是预定义的。本发明的描述中出现的各加速引擎均为功能相同、配置亦相同的加速引擎。
作为一个可选地实施例,待测异构加速卡为现场可编程逻辑门阵列异构加速卡。
本发明实施例中可以通过多种方式获取待测异构加速卡中加速引擎的最大并行数M,例如,可以基于用户的输入,获取待测异构加速卡中加速引擎的最大并行数M;或者,可以接送其他电子设备发送的待测异构加速卡中加速引擎的最大并行数M;又或者,还可以通过数值计算、模型设计等方式获取待测异构加速卡中加速引擎的最大并行数M。本发明实施例中对获取待测异构加速卡中加速引擎的最大并行数M的具体方式不作限定。
作为一个可选地实施例,获取待测异构加速卡中加速引擎的最大并行数M,包括:基于待测异构加速卡的资源总数以及一个加速引擎运行所需占用的资源数,确定最大并行数M
具体地,由于待测异构加速卡中加速引擎的功能是预定义的,因此基于加速引擎的功能,可以获取加速引擎运行所需占用的资源数。
基于待测异构加速卡的芯片型号等信息,可以获取待测异构加速卡的资源总数。
获取待测异构加速卡的资源总数以及一个加速引擎运行所需占用的资源数之后,可以通过数值计算的方式,计算得到待测异构加速卡的资源总数与一个加速引擎运行所需占用的资源数之商。
计算得到待测异构加速卡的资源总数与一个加速引擎运行所需占用的资源数之商之后,可以将待测异构加速卡的资源总数与一个加速引擎运行所需占用的资源数之商向下取整,作为待测异构加速卡中加速引擎的最大并行数M
例如,若一个加速引擎运行所需占用的资源数占待测异构加速卡的资源总数的12%,则计算得到100%与12%之商约等于8.4,向下取整之后,可以确定待测异构加速卡中加速引擎的最大并行数M的取整为8。
本发明实施例能基于待测异构加速卡的资源总数以及一个加速引擎运行所需占用的资源数,更准确地确定待测异构加速卡中加速引擎的最大并行数M
步骤202、执行第i次测试,调用i个加速引擎对预设容量的数据进行数据处理,在i个加速引擎完成对预设容量的数据的数据处理的情况下,完成第i次测试,i增大1,重复上述测试步骤,直至完成第M次测试,依次取1,2,…,M-1,M
具体地,获取待测异构加速卡中加速引擎的最大并行数M之后,可以执行第1次测试,调用1个加速引擎对预设容量的数据进行数据处理。
在1个加速引擎完成对预设容量的数据的数据处理的情况下,完成第1次测试,可以执行第2次测试,调用2个加速引擎对预设容量的数据进行数据处理。
在2个加速引擎完成对预设容量的数据的数据处理的情况下,完成第2次测试,可以执行第3次测试,并重复上述测试步骤。
在执行第i次测试时,可以调用i个加速引擎对预设容量的数据进行数据处理。
i个加速引擎完成对预设容量的数据的数据处理的情况下,完成第i次测试,i增大1,并重复上述测试步骤。
在执行第M次测试时,可以调用M个加速引擎对预设容量的数据进行数据处理。
M个加速引擎完成对预设容量的数据的数据处理的情况下,完成第M次测试,结束测试。
需要说明的是,本发明实施例中的预设容量可以是基于先验知识和/或实际情况确定。本发明实施例中对预设容量的具体取值不作限定。
可选地,预设容量的取值范围可以为0.5G至1.5G,例如预设容量的取值可以为0.5G、1G或1.5G。
优选地,预设容量的取值可以为1G。
作为一个可选地实施例,加速引擎对预设容量的数据进行数据处理的处理逻辑是预定义的。
需要说明的是,本发明实施例中可以根据实际需求,预定义加速引擎对预设容量的数据进行数据处理的处理逻辑,从而可以更好地模拟待测异构加速卡的实际运营场景。
作为一个可选地实施例,执行第i次测试,调用i个加速引擎对预设容量的数据进行数据处理,在i个加速引擎完成对预设容量的数据的数据处理的情况下,完成第i次测试,包括:向i个加速引擎发送调用指令,以供i个加速引擎中的任一加速引擎在接收到调用指令且处于目标状态的情况下,返回任一加速引擎的第1个读请求消息;
在接收到任一加速引擎的第1个读请求消息的情况下,向任一加速引擎发送单位容量的数据,以供任一加速引擎在完成对单位容量的数据的数据处理之后,再次返回一个任一加速引擎的读请求消息;
重复上述数据分发的步骤,直至向i个加速引擎中的每一加速引擎分发完成预设容量的数据。
具体地,在开始执行第i次测试的情况下,可以向任意i个加速引擎发送调用指令enable。
对于上述i个加速引擎中的任一加速引擎,上述任一加速引擎在接收到上述调用指令enable且处于目标状态的情况下,可以向加速引擎配置装置返回上述任一加速引擎的第1个读请求消息rd_req。其中,目标状态指加速引擎已复位且使能的状态。
加速引擎配置装置在接收到上述任一加速引擎的第1个读请求消息rd_req的情况下,可以向上述任一加速引擎分发单位容量的数据。
上述任一加速引擎在接收到上述单位容量的数据之后,可以对上述单位容量的数据进行数据处理,并可以在完成对上述单位容量的数据的数据处理的情况下,向加速引擎配置装置返回一个上述任一加速引擎的读请求消息rd_req,以供加速引擎配置装置重复上述数据分发步骤,以及上述任一加速引擎重复上述数据处理步骤,直至在加速引擎并行数据估计装置向上述i个加速引擎中的每一加速引擎分发完成预设容量的数据的情况下,完成第i次测试。
需要说明的是,本发明实施例中的单位容量可以是基于先验知识和/或实际情况确定。本发明实施例中对单位容量的具体取值不作限定。
可选地,单位容量的取值可以为1page。
本发明实施例通过数据分发的方式,调用i个加速引擎对预设容量的数据进行数据处理,能对异构加速卡的异构加速过程进行模拟,能更准确地获取第i标识对应的时长,进而能能更准确地估计与数据通道的带宽相匹配的加速引擎并行数。
作为一个可选地实施例,完成第i次测试的时刻,与开始执行第i+1次测试的时刻之间间隔预设时长。
需要说明的是,本发明实施例中的预设时长可以根据先验知识和/或实际情况确定。本发明实施例中对上述预设时长的具体取值不作限定。
可选地,上述预设时长的取值范围可以是5至9个时钟周期,例如上述预设时长可以为5个时钟周期、7个时钟周期或9个时钟周期。
优选地,上述预设时长可以为7个时钟周期。
步骤203、获取i个加速引擎对预设容量的数据进行数据处理所耗费的时长,作为第i标识对应的时长。
具体地,本发明实施例可以利用计时器,获取1个加速引擎对预设容量的数据进行数据处理所耗费的时长,作为第1标识对应的时长t 1;获取2个加速引擎对预设容量的数据进行数据处理所耗费的时长,作为第2标识对应的时长t 1;以此类推,在完成第M次测试之后,可以获取所有的标识对应的时长T。其中,T={t 1,t 2,t 3,…t M-1,t M }。
作为一个可选地实施例,获取i个加速引擎对预设容量的数据进行数据处理所需的时长,作为第i标识对应的时长,包括:在第i次测试中首次接收到读请求消息的情况下,向计时器发送第i次测试的启动消息,以供计时器响应于第i次测试的启动消息,开始第i次测试的计时,任一加速引擎的第1个读请求消息,是任一加速引擎在接收到调用指令且处于目标状态的情况下发送的。
具体地,在执行第i次测试时,加速引擎配置装置在首次接收到读请求消息rd_req的情况下,还可以向计时器发送第i次测试的启动消息acc_start。
计时器在接收到第i次测试的启动消息acc_start的情况下,开始上述第i次测试的计时。
在第i次测试中向i个加速引擎中的每一加速引擎分发完成预设容量的数据的情况下,向计时器发送完成消息,以供计时器响应于完成消息,结束第i次测试的计时。
加速引擎配置装置在向i个加速引擎中的每一加速引擎分发完成预设容量的数据的情况下,可以向计时器发送第i次测试的完成消息acc_finish。
计时器在接收到第i次测试的完成消息acc_finish的情况下,结束上述第i次测试的计时。
获取计时器在第i次测试中采集到的计时数据,基于第i次测试中采集到的计时数据,获取i个加速引擎对预设容量的数据进行数据处理所需的时长,作为第i标识对应的时长。
计时器在结束上述第i次测试的计时的情况下,加速引擎配置装置获取计时器在第i次测试中采集到的计时数据。
基于计时器在第i次测试中采集到的计时数据,可以通过数值计算的方式,获取i个加速引擎对预设容量的数据进行数据处理所需的时长,作为第i标识对应的时长。
步骤204、基于所有标识对应的时长,获取与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数,目标数据传输通道用于向待测异构加速卡传输数据。
具体地,获取所有的标识对应的时长T之后,可以通过数值计算、条件判断、模型设计等方式,获取与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数。
步骤205、基于估计并行数,在待测异构加速卡中配置估计并行数个加速引擎。
具体地,获取与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数之后,可以基于上述估计并行数,在待测异构加速卡中配置上述估计并行数个加速引擎。
本发明实施例通过获取待测异构加速卡中加速引擎的最大并行数M之后,执行第i次测试,调用i个加速引擎对预设容量的数据进行数据处理,在i个加速引擎完成对预设容量的数据的数据处理的情况下,完成第i次测试,i增大1,重复上述测试步骤,直至完成第M次测试,获取i个加速引擎对预设容量的数据进行数据处理所耗费的时长,作为第i标识对应的时长,基于所有标识对应的时长,获取与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数,能更准确、更高效地估计与数据通道的带宽相匹配的加速引擎并行数,进而能基于待测异构加速卡中加速引擎的估计并行数,更准确、更高效地为待测异构加速卡配置加速引擎,能降低加速引擎配置的时间成本投入和人工成本投入,能避免计算资源的浪费或带宽的浪费。
作为一个可选地实施例,基于所有标识对应的时长,获取与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数,包括:在第标识对应的时长,与第/>标识的第一对比标识对应的时长之间的差值中的至少一个处于第一预设区间内的情况下,将/>确定为估计并行数;
其中,第标识的第一对比标识包括第/>+1标识、第/>+2标识、…、第/>+N-1标识以及第/>+N标识,N是根据M确定的正整数,X=M-N。
需要说明的是,本发明实施例中可以基于M,以及先验知识和/或实际情况,确定N的取值。例如,可以将M的二分之一向上取整后,确定为N的取值,即在M的取值为8的情况下,可以将N的取值确定为4。
具体地,获取所有的标识对应的时长T={t1,t2,t3,…tM-1,tM}之后,可以判断第标识对应的时长,与第/>标识的第一对比标识对应的时长之间的差值处于第一预设区间内。
为了便于对本发明实施例的理解,以下通过一个实例对本发明实施例进行说明。
本实例中M的取值为8,N的取值为4。相应地,的取值为4。
获取所有的标识对应的时长T={t 1,t 2,t 3,…t 7,t 8}之后,可以判断t8-t4、t7-t4、t6-t4和t5-t4的结果是否处于第一预设区间内。
若t8-t4、t7-t4、t6-t4和t5-t4的结果中的至少一个处于第一预设区间内,则可说明4个加速引擎并行,就消耗了目标数据传输通道的全部带宽,可以将4确定为与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数。
需要说明的是,第一预设区间可以是根据先验知识和/或实际情况确定的。本发明实施例中对第一预设区域不作具体限定。
作为一个可选地实施例,基于所有标识对应的时长,获取与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数,包括:判断第M标识对应的时长,与第M标识的第二对比标识对应的时长之间的差值是否均未处于第二预设区间内;
若第M标识对应的时长,与第M标识的第二对比标识对应的时长之间的差值中的至少一个处于第二预设区间内,则M减1,并重复上述判断过程,直至在第y标识对应的时长,与第y标识的第二对比标识对应的时长之间的差值均未处于第二预设区间内的情况下,将y确定为估计并行数,或者直至在第标识对应的时长,与第/>标识的第二对比标识对应的时长之间的差值中的至少一个处于第二预设区间内的情况下,将/>确定为估计并行数;
其中,第z标识的第二对比标识包括第z-1标识、…、第z-Y+1标识以及第z-Y标识,Y为基于M确定的预设值,YNz指代大于等于N小于等于M的正整数;y指代小于M大于N的正整数。
需要说明的是,本发明实施例中可以基于M,以及先验知识和/或实际情况,确定Y的取值。例如,可以将M的二分之一向下取整或M的二分之一再减1,确定为Y的取值,即在M的取值为8的情况下,可以将Y的取值确定为3。
具体地,获取所有的标识对应的时长T={t1,t2,t3,…tM-1,tM}之后,可以判断第标识对应的时长,与第/>标识的对比标识对应的时长之间的差值处于第二预设区间内。
为了便于对本发明实施例的理解,以下通过一个实例对本发明实施例进行说明。
本实例中M的取值为8,Y的取值为3,N的取值为4。相应地,第M标识的对比标识包括第M-1标识、第M-2标识和第M-3标识。
获取所有的标识对应的时长T={t 1,t 2,t 3,…t 7,t 8}之后,可以判断t8-t5、t8-t6和t8-t7的结果是否处于第二预设区间内。
若t8-t5、t8-t6和t8-t7的结果均未处于第二预设区间内,则可说明目标数据传输通道的带宽可以支持8个加速引擎并行,可以将8确定为与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数;
若t8-t5、t8-t6和t8-t7的结果中的至少一个未处于第二预设区间内,则可以判断t7-t4、t7-t5和t7-t6的结果是否处于第二预设区间内。
若t7-t4、t7-t5和t7-t6的结果均未处于第二预设区间内,则可说明目标数据传输通道的带宽可以支持7个加速引擎并行,可以将7确定为与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数;
若t7-t4、t7-t5和t7-t6的结果中的至少一个未处于第二预设区间内,则可以判断t6-t3、t6-t4和t6-t5的结果是否处于第二预设区间内;
若t6-t3、t6-t4和t6-t5的结果均未处于第二预设区间内,则可以说明目标数据传输通道的带宽可以支持6个加速引擎并行,可以将6确定为与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数;
若t6-t3、t6-t4和t6-t5的结果中的至少一个未处于第二预设区间内,则可以判断t5-t2、t5-t3和t5-t2的结果是否处于第二预设区间内;
若t5-t2、t5-t3和t5-t2的结果均未处于第二预设区间内,则可说明目标数据传输通道的带宽可以支持5个加速引擎并行,可以将5确定为与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数。
若t5-t2、t5-t3和t5-t2的结果中的至少一个未处于第二预设区间内,则可以将4确定为与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数。
需要说明的是,第二预设区间可以是根据先验知识和/或实际情况确定的。本发明实施例中对第二预设区域不作具体限定。
作为一个可选地实施例,基于所有标识对应的时长,获取与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数,包括:在任意相邻两个标识对应的时长的差值均不处于第三预设区间内的情况下,将M确定为估计并行数。
具体地,在任意相邻两个标识对应的时长的差值均不处于第三预设区间内的情况下,可以说明目标数据传输通道的带宽可以支持M个加速引擎并行运行,因此可以将确定为M确定为与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数。
需要说明的是,第三预设区间可以是根据先验知识和/或实际情况确定的。本发明实施例中对第三预设区域不作具体限定。
本发明实施例能基于所有标识对应的时长,通过多种方式,更准确、更灵活且更高效地确定与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数。
图3是本发明提供的加速引擎配置装置的结构示意图。下面结合图3对本发明提供的加速引擎配置装置进行描述,下文描述的加速引擎配置装置与上文描述的本发明提供的加速引擎配置方法可相互对应参照。如图3所示,数据获取模块301、测试模块302、时长获取模块303、并行度估计模块304和加速引擎配置模块305。
数据获取模块301,用于获取待测异构加速卡中加速引擎的最大并行数M
测试模块302,用于执行第i次测试,调用i个加速引擎对预设容量的数据进行数据处理,在i个加速引擎完成对预设容量的数据的数据处理的情况下,完成第i次测试,i增大1,重复上述测试步骤,直至完成第M次测试,依次取1,2,…,M-1,M;/>
时长获取模块303,用于获取i个加速引擎对预设容量的数据进行数据处理所耗费的时长,作为第i标识对应的时长;
并行度估计模块304,用于基于所有标识对应的时长,获取与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数,目标数据传输通道用于向待测异构加速卡传输数据;
加速引擎配置模块305,用于基于所述估计并行数,在所述待测异构加速卡中配置所述估计并行数个所述加速引擎。
具体地,数据获取模块301、测试模块302、时长获取模块303、并行度估计模块304和加速引擎配置模块305电连接。
本发明实施例中的加速引擎配置装置,通过获取待测异构加速卡中加速引擎的最大并行数M之后,执行第i次测试,调用i个加速引擎对预设容量的数据进行数据处理,在i个加速引擎完成对预设容量的数据的数据处理的情况下,完成第i次测试,i增大1,重复上述测试步骤,直至完成第M次测试,获取i个加速引擎对预设容量的数据进行数据处理所耗费的时长,作为第i标识对应的时长,基于所有标识对应的时长,获取与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数,能更准确、更高效地估计与数据通道的带宽相匹配的加速引擎并行数,进而能基于待测异构加速卡中加速引擎的估计并行数,更准确、更高效地为待测异构加速卡配置加速引擎,能降低加速引擎配置的时间成本投入和人工成本投入,能避免计算资源的浪费或带宽的浪费。
图4是本发明提供的电子设备的实体结构示意图之一,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行加速引擎配置方法,该方法包括:获取待测异构加速卡中加速引擎的最大并行数M;执行第i次测试,调用i个加速引擎对预设容量的数据进行数据处理,在i个加速引擎完成对预设容量的数据的数据处理的情况下,完成第i次测试,i增大1,重复上述测试步骤,直至完成第M次测试,依次取1,2,…,M-1,M;获取i个加速引擎对预设容量的数据进行数据处理所耗费的时长,作为第i标识对应的时长;基于所有标识对应的时长,获取与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数,目标数据传输通道用于向待测异构加速卡传输数据;基于估计并行数,在待测异构加速卡中配置估计并行数个加速引擎。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
图5是本发明提供的并行数估计系统的结构示意图。作为一个可选地实施例,如图5所示,并行数估计系统,包括:并行控制器506和多个加速引擎505;并行控制器506与每一加速引擎电连接;
并行控制器506用于获取待测异构加速卡中加速引擎的最大并行数M,执行第i次测试,调用i个加速引擎对预设容量的数据进行数据处理,在i个加速引擎完成对预设容量的数据的数据处理的情况下,完成第i次测试,i增大1,重复上述测试步骤,直至完成第M次测试,依次取1,2,…,M-1,M,获取i个加速引擎对预设容量的数据进行数据处理所耗费的时长,作为第i标识对应的时长,基于所有标识对应的时长,获取与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数,目标数据传输通道用于向待测异构加速卡传输数据;
加速引擎用于响应于并行控制器506的调用,对预设容量的数据进行数据处理。
本发明实施例中的并行数估计系统包括并行控制器和多个加速引擎,并行控制器通过获取待测异构加速卡中加速引擎的最大并行数M之后,执行第i次测试,调用i个加速引擎对预设容量的数据进行数据处理,在i个加速引擎完成对预设容量的数据的数据处理的情况下,完成第i次测试,i增大1,重复上述测试步骤,直至完成第M次测试,获取i个加速引擎对预设容量的数据进行数据处理所耗费的时长,作为第i标识对应的时长,基于所有标识对应的时长,获取与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数,能更准确、更高效地估计与数据通道的带宽相匹配的加速引擎并行数,能降低加速引擎配置的时间成本投入和人工成本投入,能避免计算资源的浪费或带宽的浪费。
作为一个可选地实施例,如图5所示,并行数估计系统,还包括:计时器501;
计时器501用于在接收到第i次测试的启动消息的情况下,开始第i次测试的计时,在接收到第i次测试的完成消息的情况下,结束第i次测试的计时,并将第i次测试中采集到的计时数据发送至并行控制器506;
具体地,图6是本发明提供的并行数估计系统的信令交互图。如图6所示,在执行第i次测试时,并行控制器506在首次接收到读请求消息rd_req的情况下,可以向计时器501发送第i次测试的启动消息acc_start。
计时器501在接收到第i次测试的启动消息acc_start的情况下,开始上述第i次测试的计时。
并行控制器506还用于基于第i次测试中采集到的计时数据,获取i个加速引擎505对预设容量的数据进行数据处理所需的时长,作为第i标识对应的时长。
并行控制器506基于计时器501在第i次测试中采集到的计时数据,可以通过数值计算的方式,获取i个加速引擎505对预设容量的数据进行数据处理所需的时长,作为第i标识对应的时长。
并行控制器506获取1个加速引擎505对预设容量的数据进行数据处理所耗费的时长,作为第1标识对应的时长t 1;获取2个加速引擎505对预设容量的数据进行数据处理所耗费的时长,作为第2标识对应的时长t 1;以此类推,在完成第M次测试之后,并行控制器506可以获取所有的标识对应的时长T。其中,T={t 1,t 2,t 3,…t M-1,t M }。
本发明实施例中的并行数估计系统包括计时器,能利用计时器更准确、更高效地获取所有标识对应的时长,能为估计待测异构加速卡中加速引擎并行数提供数据支撑。
作为一个可选地实施例,并行数估计系统,还包括:数据分发单元502;
数据分发单元502用于从存储器504获取预设容量的数据,并在接收到任一加速引擎505发送的读请求消息的情况下,向任一加速引擎505发送单位容量的数据,直至向任一加速引擎505分发完成预设容量的数据;
其中,任一加速引擎505的第1个读请求消息,是任一加速引擎505在接收到并行控制器506发送的调用指令且处于目标状态的情况下向数据分发单元502发送的,除任一加速引擎505的第1个读请求消息之外任一加速引擎505其他的读请求消息,是任一加速引擎505完成对接收到的单位容量的数据的数据处理的情况下向数据分发单元502发送的。
需要说明的是,本发明实施例中的单位容量可以是基于先验知识和/或实际情况确定。本发明实施例中对单位容量的具体取值不作限定。
可选地,单位容量的取值可以为1page。
具体地,如图6所示,并行控制器506在开始执行第i次测试的情况下,可以向任意i个加速引擎505发送调用指令enable。
对于上述i个加速引擎505中的任一加速引擎505,上述任一加速引擎505在接收到上述调用指令enable且处于目标状态的情况下,可以向数据分发单元502发送上述任一加速引擎505的第1个读请求消息rd_req。其中,目标状态指加速引擎505已复位且使能的状态。
数据分发单元502在接收到上述任一加速引擎505的第1个读请求消息rd_req的情况下,可以向上述任一加速引擎505分发单位容量的数据Data_page。
上述任一加速引擎505在接收到上述单位容量的数据Data_page之后,可以对上述单位容量的数据Data_page进行数据处理,并可以在完成对上述单位容量的数据Data_page的数据处理的情况下,向数据分发单元502返回一个上述任一加速引擎505的读请求消息rd_req,以供数据分发单元502重复上述数据分发步骤,以及上述任一加速引擎505重复上述数据处理步骤,直至在数据分发单元502向上述i个加速引擎505中的每一加速引擎505分发完成预设容量的数据的情况下,完成第i次测试。
需要说明的是,对于上述i个加速引擎505中的任一加速引擎505,上述任一加速引擎505在接收到上述调用指令enable且处于目标状态的情况下,还可以向计时器501发送上述任一加速引擎505的启动消息sys_rst,告知计时器501上述任一加速引擎505已接受并行控制器506的调用。
作为一个可选地实施例,数据分发单元502还用于在第i次测试中首次接收到读请求消息的情况下,向计时器501发送第i次测试的启动消息,数据分发单元502还用于在第i次测试中向i个加速引擎505中的每一加速引擎505分发完成预设容量的数据的情况下,向计时器501发送第i次测试的完成消息。
如图6所示,在执行第i次测试时,数据分发单元502在首次接收到读请求消息rd_req的情况下,还可以向计时器501发送第i次测试的启动消息acc_start。
计时器501在接收到第i次测试的启动消息acc_start的情况下,开始上述第i次测试的计时。
如图6所示,数据分发单元502在向i个加速引擎505中的每一加速引擎505分发完成预设容量的数据的情况下,可以向计时器501发送第i次测试的完成消息acc_finish。
计时器501在接收到第i次测试的完成消息acc_finish的情况下,结束上述第i次测试的计时。
本发明实施例中并行数估计系统还包括数据分发单元,能通过数据分发的方式,调用i个加速引擎对预设容量的数据进行数据处理,能对异构加速卡的异构加速过程进行模拟,能更准确地获取第i标识对应的时长,进而能能更准确地估计与数据通道的带宽相匹配的加速引擎并行数。
作为一个可选地实施例,并行数估计系统,还包括:计时寄存器503;
计时器501还用于在第i次测试中,在接收到第i次测试的完成消息的时刻起已经过预设时长的情况下,将第i次测试中采集到的计时数据,作为第i标识对应的计时数据存储至计时寄存器503中;
并行控制器506还用于从计时寄存器503中读取第i标识对应的计时数据,并基于第i标识对应的计时数据,获取i个加速引擎505对预设容量的数据进行数据处理所需的时长,作为第i标识对应的时长。
需要说明的是,数据分发单元502在向i个加速引擎505中的每一加速引擎505分发完成预设容量的数据的情况下,还可以向计时寄存器503发送第i次测试的完成消息acc_finish,用于告知计时寄存器503第i次测试已完成。
本发明实施例中并行数估计系统还包括计时寄存器,能更高效、更准确地管理计时器采集到的计时数据。
作为一个可选地实施例,并行数估计系统,还包括:存储器504;存储器504与数据分发单元502电连接。
具体地,存储器504中可以存放预设容量的数据,并可以将上述预设容量的数据传输至数据分发单元502。
需要说明的是,本发明实施例中的存储器504可以为DDR4。其中,DDR4是新一代的双倍速率同步动态随机存储器504。
作为一个可选地实施例,存储器504与数据分发单元502通过AXI4总线连接。
需要说明的是,AXI4为Advanced eXtensible Interface-full的缩写,表示高级可扩展接口。AXI4主要面向高性能地址映射通信的需求,是面向地址映射的接口,允许最大256轮的数据突发传输。
本发明实施例中并行数估计系统还包括存储器,存储器与数据分发单元通过AXI4总线连接,能更流畅地实现数据分发。
作为一个可选地实施例,并行数估计系统,还包括:配置控制器;配置控制器与并行控制器电连接;
配置控制器用于基于估计并行数,在待测异构加速卡中配置估计并行数个加速引擎。
具体地,并行控制器获取与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数之后,可以将待测异构加速卡中加速引擎的估计并行数发送至配置控制器。
配置控制器可以基于上述估计并行数,在待测异构加速卡中配置上述估计并行数个加速引擎。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的加速引擎配置方法,该方法包括:获取待测异构加速卡中加速引擎的最大并行数M;执行第i次测试,调用i个加速引擎对预设容量的数据进行数据处理,在i个加速引擎完成对预设容量的数据的数据处理的情况下,完成第i次测试,i增大1,重复上述测试步骤,直至完成第M次测试,依次取1,2,…,M-1,M;获取i个加速引擎对预设容量的数据进行数据处理所耗费的时长,作为第i标识对应的时长;基于所有标识对应的时长,获取与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数,目标数据传输通道用于向待测异构加速卡传输数据;基于估计并行数,在待测异构加速卡中配置估计并行数个加速引擎。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的加速引擎配置方法,该方法包括:获取待测异构加速卡中加速引擎的最大并行数M;执行第i次测试,调用i个加速引擎对预设容量的数据进行数据处理,在i个加速引擎完成对预设容量的数据的数据处理的情况下,完成第i次测试,i增大1,重复上述测试步骤,直至完成第M次测试,依次取1,2,…,M-1,M;获取i个加速引擎对预设容量的数据进行数据处理所耗费的时长,作为第i标识对应的时长;基于所有标识对应的时长,获取与目标数据传输通道的带宽相匹配的待测异构加速卡中加速引擎的估计并行数,目标数据传输通道用于向待测异构加速卡传输数据;基于估计并行数,在待测异构加速卡中配置估计并行数个加速引擎。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (20)

1.一种加速引擎配置方法,其特征在于,包括:
获取待测异构加速卡中加速引擎的最大并行数M
执行第次测试,调用/>个所述加速引擎对预设容量的数据进行数据处理,在/>个所述加速引擎完成对所述预设容量的数据的数据处理的情况下,完成第/>次测试,/>增大1,重复上述测试步骤,直至完成第M次测试,/>依次取1,2,…,M-1,M
获取i个所述加速引擎对所述预设容量的数据进行数据处理所耗费的时长,作为第i标识对应的时长;
基于所有所述标识对应的时长,获取与目标数据传输通道的带宽相匹配的所述待测异构加速卡中所述加速引擎的估计并行数,所述目标数据传输通道用于向所述待测异构加速卡传输数据;
基于所述估计并行数,在所述待测异构加速卡中配置所述估计并行数个所述加速引擎。
2.根据权利要求1所述的加速引擎配置方法,其特征在于,所述基于所有所述标识对应的时长,获取与目标数据传输通道的带宽相匹配的所述待测异构加速卡中所述加速引擎的估计并行数,包括:
在第标识对应的时长,与所述第/>标识的第一对比标识对应的时长之间的差值中的至少一个处于第一预设区间内的情况下,将/>确定为所述估计并行数;
其中,所述第标识的第一对比标识包括第/>+1标识、第/>+2标识、…、第/>+N-1标识以及第/>+N标识,N是根据M确定的正整数,X=M-N。
3.根据权利要求2所述的加速引擎配置方法,其特征在于,所述基于所有所述标识对应的时长,获取与目标数据传输通道的带宽相匹配的所述待测异构加速卡中所述加速引擎的估计并行数,包括:
判断第M标识对应的时长,与所述第M标识的第二对比标识对应的时长之间的差值是否均未处于第二预设区间内;
若所述第M标识对应的时长,与所述第M标识的第二对比标识对应的时长之间的差值均未处于第二预设区间内,则将M确定为所述估计并行数;
若所述第M标识对应的时长,与所述第M标识的第二对比标识对应的时长之间的差值中的至少一个处于第二预设区间内,则M减1,并重复上述判断过程,直至在第y标识对应的时长,与所述第y标识的第二对比标识对应的时长之间的差值均未处于第二预设区间内的情况下,将y确定为所述估计并行数,或者直至在第标识对应的时长,与所述第/>标识的第二对比标识对应的时长之间的差值中的至少一个处于第二预设区间内的情况下,将/>确定为所述估计并行数;
其中,第z标识的第二对比标识包括第z-1标识、…、第z-Y+1标识以及第z-Y标识,Y为基于M确定的预设值,YNz指代大于等于N小于等于M的正整数;y指代小于M大于N的正整数。
4.根据权利要求1所述的加速引擎配置方法,其特征在于,所述基于所有所述标识对应的时长,获取与目标数据传输通道的带宽相匹配的所述待测异构加速卡中所述加速引擎的估计并行数,包括:
在任意相邻两个标识对应的时长的差值均不处于第三预设区间内的情况下,将M确定为所述估计并行数。
5.根据权利要求1所述的加速引擎配置方法,其特征在于,所述获取待测异构加速卡中加速引擎的最大并行数M,包括:
基于所述待测异构加速卡的资源总数以及一个所述加速引擎运行所需占用的资源数,确定所述最大并行数M
6.根据权利要求1所述的加速引擎配置方法,其特征在于,所述调用i个所述加速引擎对所述预设容量的数据进行数据处理,在i个所述加速引擎完成对所述预设容量的数据的数据处理的情况下,完成第i次测试,包括:
i个所述加速引擎发送调用指令,以供i个所述加速引擎中的任一加速引擎在接收到所述调用指令且处于目标状态的情况下,返回所述任一加速引擎的第1个读请求消息;
在接收到所述任一加速引擎的第1个读请求消息的情况下,向所述任一加速引擎发送单位容量的数据,以供所述任一加速引擎在完成对所述单位容量的数据的数据处理之后,再次返回一个所述任一加速引擎的读请求消息;
重复上述数据分发的步骤,直至向i个所述加速引擎中的每一加速引擎分发完成所述预设容量的数据。
7.根据权利要求6所述的加速引擎配置方法,其特征在于,所述获取i个所述加速引擎对所述预设容量的数据进行数据处理所耗费的时长,作为第i标识对应的时长,包括:
在所述第i次测试中首次接收到所述读请求消息的情况下,向计时器发送所述第i次测试的启动消息,以供所述计时器响应于所述第i次测试的启动消息,开始所述第i次测试的计时,所述任一加速引擎的第1个读请求消息,是所述任一加速引擎在接收到所述调用指令且处于目标状态的情况下发送的;
在所述第i次测试中向i个所述加速引擎中的每一加速引擎分发完成所述预设容量的数据的情况下,向所述计时器发送完成消息,以供所述计时器响应于所述完成消息,结束所述第i次测试的计时;
获取所述计时器在所述第i次测试中采集到的计时数据,基于所述第i次测试中采集到的计时数据,获取i个所述加速引擎对预设容量的数据进行数据处理所需的时长,作为第i标识对应的时长。
8.根据权利要求1所述的加速引擎配置方法,其特征在于,完成第i次测试的时刻,与开始执行第i+1次测试的时刻之间间隔预设时长。
9.根据权利要求1所述的加速引擎配置方法,其特征在于,所述加速引擎对所述预设容量的数据进行数据处理的处理逻辑是预定义的。
10.根据权利要求1至9任一所述的加速引擎配置方法,其特征在于,所述待测异构加速卡为现场可编程逻辑门阵列异构加速卡。
11.一种加速引擎配置装置,其特征在于,包括:
数据获取模块,用于获取待测异构加速卡中加速引擎的最大并行数M
测试模块,用于执行第i次测试,调用i个所述加速引擎对预设容量的数据进行数据处理,在i个所述加速引擎完成对所述预设容量的数据的数据处理的情况下,完成第i次测试,i增大1,重复上述测试步骤,直至完成第M次测试,依次取1,2,…,M-1,M
时长获取模块,用于获取i个所述加速引擎对所述预设容量的数据进行数据处理所耗费的时长,作为第i标识对应的时长;
并行度估计模块,用于基于所有所述标识对应的时长,获取与目标数据传输通道的带宽相匹配的所述待测异构加速卡中所述加速引擎的估计并行数,所述目标数据传输通道用于向所述待测异构加速卡传输数据;
加速引擎配置模块,用于基于所述估计并行数,在所述待测异构加速卡中配置所述估计并行数个所述加速引擎。
12.一种并行数估计系统,其特征在于,包括:并行控制器和多个加速引擎;所述并行控制器与每一所述加速引擎电连接;
所述并行控制器用于获取待测异构加速卡中加速引擎的最大并行数M,执行第i次测试,调用i个所述加速引擎对预设容量的数据进行数据处理,在i个所述加速引擎完成对所述预设容量的数据的数据处理的情况下,完成第i次测试,i增大1,重复上述测试步骤,直至完成第M次测试,依次取1,2,…,M-1,M,获取i个所述加速引擎对所述预设容量的数据进行数据处理所耗费的时长,作为第i标识对应的时长,基于所有所述标识对应的时长,获取与目标数据传输通道的带宽相匹配的所述待测异构加速卡中所述加速引擎的估计并行数,所述目标数据传输通道用于向所述待测异构加速卡传输数据;
所述加速引擎用于响应于所述并行控制器的调用,对预设容量的数据进行数据处理。
13.根据权利要求12所述的并行数估计系统,其特征在于,还包括:计时器;
所述计时器用于在接收到第i次测试的启动消息的情况下,开始所述第i次测试的计时,在接收到所述第i次测试的完成消息的情况下,结束所述第i次测试的计时,并将所述第i次测试中采集到的计时数据发送至所述并行控制器;
所述并行控制器还用于基于所述第i次测试中采集到的计时数据,获取i个所述加速引擎对预设容量的数据进行数据处理所需的时长,作为第i标识对应的时长。
14.根据权利要求13所述的并行数估计系统,其特征在于,还包括:数据分发单元;
所述数据分发单元用于从存储器获取所述预设容量的数据,并在接收到任一加速引擎发送的读请求消息的情况下,向所述任一加速引擎发送单位容量的数据,直至向所述任一加速引擎分发完成所述预设容量的数据;
其中,所述任一加速引擎的第1个读请求消息,是所述任一加速引擎在接收到所述并行控制器发送的调用指令且处于目标状态的情况下向所述数据分发单元发送的,除所述任一加速引擎的第1个读请求消息之外所述任一加速引擎其他的读请求消息,是所述任一加速引擎完成对接收到的所述单位容量的数据的数据处理的情况下向所述数据分发单元发送的。
15.根据权利要求14所述的并行数估计系统,其特征在于,所述数据分发单元还用于在所述第i次测试中首次接收到所述读请求消息的情况下,向所述计时器发送所述第i次测试的启动消息;
所述数据分发单元还用于在所述第i次测试中向i个所述加速引擎中的每一加速引擎分发完成所述预设容量的数据的情况下,向所述计时器发送所述第i次测试的完成消息。
16.根据权利要求13所述的并行数估计系统,其特征在于,还包括:计时寄存器;
所述计时器还用于在所述第i次测试中,在接收到所述第i次测试的完成消息的时刻起已经过预设时长的情况下,将所述第i次测试中采集到的计时数据,作为第i标识对应的计时数据存储至所述计时寄存器中;
所述并行控制器还用于从所述计时寄存器中读取所述第i标识对应的计时数据,并基于所述第i标识对应的计时数据,获取i个所述加速引擎对预设容量的数据进行数据处理所需的时长,作为第i标识对应的时长。
17.根据权利要求14所述的并行数估计系统,其特征在于,还包括:所述存储器;所述存储器与所述数据分发单元电连接。
18.根据权利要求12至17任一所述的并行数估计系统,其特征在于,还包括:配置控制器;所述配置控制器与所述并行控制器电连接;
所述配置控制器用于基于所述估计并行数,在所述待测异构加速卡中配置所述估计并行数个所述加速引擎。
19.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至10任一项所述加速引擎配置方法。
20.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10任一项所述加速引擎配置方法。
CN202310878296.6A 2023-07-18 2023-07-18 加速引擎配置方法、装置、并行数估计系统、设备及介质 Active CN116627893B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310878296.6A CN116627893B (zh) 2023-07-18 2023-07-18 加速引擎配置方法、装置、并行数估计系统、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310878296.6A CN116627893B (zh) 2023-07-18 2023-07-18 加速引擎配置方法、装置、并行数估计系统、设备及介质

Publications (2)

Publication Number Publication Date
CN116627893A true CN116627893A (zh) 2023-08-22
CN116627893B CN116627893B (zh) 2023-11-03

Family

ID=87613747

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310878296.6A Active CN116627893B (zh) 2023-07-18 2023-07-18 加速引擎配置方法、装置、并行数估计系统、设备及介质

Country Status (1)

Country Link
CN (1) CN116627893B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150220335A1 (en) * 2014-02-05 2015-08-06 Infosys Limited Method and system for analyzing an extent of speedup achievable for an application in a heterogeneous system
CN105808345A (zh) * 2014-12-31 2016-07-27 华为技术有限公司 数据处理方法、加速引擎、控制板和系统
CN110121698A (zh) * 2016-12-31 2019-08-13 英特尔公司 用于异构计算的系统、方法和装置
CN111162934A (zh) * 2019-12-13 2020-05-15 微民保险代理有限公司 业务服务的测试方法和装置、存储介质、电子装置
CN112905530A (zh) * 2021-03-29 2021-06-04 上海西井信息科技有限公司 片上架构、池化计算加速器阵列、单元以及控制方法
CN113971115A (zh) * 2020-07-24 2022-01-25 中国移动通信集团浙江有限公司 容器资源的需求确定方法、装置、服务器及存储介质
CN114064278A (zh) * 2021-11-18 2022-02-18 深圳致星科技有限公司 用于联邦学习的异构加速引擎及方法
CN115269013A (zh) * 2022-08-12 2022-11-01 无锡江南计算技术研究所 一种支持并发处理多个计算加速引擎的异步计算方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150220335A1 (en) * 2014-02-05 2015-08-06 Infosys Limited Method and system for analyzing an extent of speedup achievable for an application in a heterogeneous system
CN105808345A (zh) * 2014-12-31 2016-07-27 华为技术有限公司 数据处理方法、加速引擎、控制板和系统
CN110121698A (zh) * 2016-12-31 2019-08-13 英特尔公司 用于异构计算的系统、方法和装置
CN111162934A (zh) * 2019-12-13 2020-05-15 微民保险代理有限公司 业务服务的测试方法和装置、存储介质、电子装置
CN113971115A (zh) * 2020-07-24 2022-01-25 中国移动通信集团浙江有限公司 容器资源的需求确定方法、装置、服务器及存储介质
CN112905530A (zh) * 2021-03-29 2021-06-04 上海西井信息科技有限公司 片上架构、池化计算加速器阵列、单元以及控制方法
CN114064278A (zh) * 2021-11-18 2022-02-18 深圳致星科技有限公司 用于联邦学习的异构加速引擎及方法
CN115269013A (zh) * 2022-08-12 2022-11-01 无锡江南计算技术研究所 一种支持并发处理多个计算加速引擎的异步计算方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
罗跃剑;陈哲;唐荣欣;刘志伟;钟志宏;周猛;: "基于Intel MIC协处理器的PIC粒子模拟并行化加速及与CPU/GPU对比研究", 中国科技论文, no. 08 *

Also Published As

Publication number Publication date
CN116627893B (zh) 2023-11-03

Similar Documents

Publication Publication Date Title
CN109784930B (zh) 一种区块链交易数据的处理方法、装置、电子设备及介质
CN113434284B (zh) 一种隐私计算服务端设备、系统及任务调度方法
CN110704112B (zh) 在区块链中并发执行交易的方法和装置
WO2020067938A1 (en) Method, first agent and computer program product controlling computing resources in a cloud network for enabling a machine learning operation
CN109240802B (zh) 请求处理方法和装置
CN105988865A (zh) 回滚处理方法及装置
CN112087401A (zh) 分布式存储中实现服务质量的方法和装置
CN116627893B (zh) 加速引擎配置方法、装置、并行数估计系统、设备及介质
CN113033785B (zh) 芯片、神经网络训练系统、内存管理方法及装置、设备
WO2022104991A1 (zh) 控制装置及类脑计算系统
CN113626495A (zh) 一种能源管理系统的运行数据采集方法
CN111866902B (zh) 资源利用率的评估方法和装置
CN112598135A (zh) 模型训练处理方法、装置、计算机设备及介质
CN116880986A (zh) 任务调度方法、装置、车载控制器、电子设备和存储介质
CN114327862B (zh) 一种内存分配方法、装置、电子设备及存储介质
CN115933591A (zh) 一种控制器诊断方法、装置、设备和存储介质
CN112749304B (zh) 限制服务器算力的方法、服务器、存储介质
CN109062702B (zh) 一种计算资源分配方法、相关装置及可读存储介质
CN114490074A (zh) 仲裁系统、方法、电子设备、存储介质及芯片
CN113645087A (zh) 一种VxWorks下网络带宽利用率的计算方法
CN112615739A (zh) 一种多主机应用环境下ocp3.0网卡的适配方法及系统
CN107103003B (zh) 获取链路中数据的方法、获取设备、处理设备和系统
CN116881016B (zh) 服务器进程的处理方法及装置、存储介质及电子设备
CN111309521A (zh) Fpga重加载方法、fpga卡式设备和主机
CN110287072A (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
GR01 Patent grant
GR01 Patent grant