一种数据加速计算方法、装置、设备及存储介质制造方法及图纸

技术编号:37792002 阅读:15 留言:0更新日期:2023-06-09 09:22
本申请公开了一种数据加速计算方法、装置、设备及存储介质,涉及FPGA应用领域,包括:判断当前是否满足预设数据加速计算条件;如果满足,则利用第一预设全局内存管理模块确定内存状态信息,以获取Host端发送的根据内存状态信息确定的待处理数据,并将待处理数据迁移至FPGA全局内存;利用第一计算内核和第二预设全局内存管理模块读取待处理数据进行数据计算,并利用预设局部内存管理模块将得到的当前内核计算结果缓存至FPGA局部内存;利用第二计算内核和当前内核计算结果进行数据计算,以得到目标数据结果,并将目标数据结果返回至FPGA全局内存,以便Host端读取目标数据结果。这样一来,可以降低数据迁移次数,提高数据加速计算的加速效果。的加速效果。的加速效果。

【技术实现步骤摘要】
一种数据加速计算方法、装置、设备及存储介质


[0001]本专利技术涉及FPGA应用领域,特别涉及一种数据加速计算方法、装置、设备及存储介质。

技术介绍

[0002]异构加速平台已经广泛应用于图形、算法等加速场景。目前主流异构加速平台利用PCIE(Peripheral Component Interconnect Express,高速串行计算机扩展总线标准)DMA(Direct Memory Access,直接内存访问)来完成Host端与FPGA加速卡间的数据传输,FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)内部之间的数据传输则基于AXI(Advanced eXtensible Interface,一种总线协议)总线。当异构加速平台加速特定的算法时,Host端的Host Memory(主机存储器)与FPGA加速卡的全局内存之间会频繁迁移数据,不同内存间频繁的数据迁移会带来额外时间开销,降低数据传输效率,从而导致加速效果差。因此,如何提升数据加速计算的加速效果是亟待解决的问题。

技术实现思路

[0003]有鉴于此,本专利技术的目的在于提供一种数据加速计算方法、装置、设备及存储介质,可以降低Host端与FPGA全局内存之间的数据迁移次数,并且利用局部内存减少FPGA全局内存的数据迁移次数,减少数据迁移导致的时间开销,提高数据传输迁移的效率,从而提高数据加速计算的加速效果。其具体方案如下:
[0004]第一方面,本申请提供了一种数据加速计算方法,应用于FPGA加速卡,包括:
[0005]判断当前是否满足预设数据加速计算条件;
[0006]如果当前满足预设数据加速计算条件,则利用第一预设全局内存管理模块确定内存状态信息,以获取Host端发送的根据所述内存状态信息确定的待处理数据,并将所述待处理数据迁移至FPGA全局内存;
[0007]利用第一计算内核和第二预设全局内存管理模块从所述FPGA全局内存中读取所述待处理数据进行数据计算,并利用预设局部内存管理模块将计算得到的当前内核计算结果缓存至FPGA局部内存;
[0008]利用第二计算内核和所述当前内核计算结果进行数据计算,以得到目标数据结果,并将所述目标数据结果返回至所述FPGA全局内存,以便所述Host端从所述FPGA全局内存中读取所述目标数据结果。
[0009]可选的,所述判断当前是否满足预设数据加速计算条件,包括:
[0010]判断当前是否接收到Host端发送的根据初始计算任务确定的Host请求;
[0011]如果是,则判定当前满足预设数据加速计算条件。
[0012]可选的,所述利用第一预设全局内存管理模块确定内存状态信息,包括:
[0013]利用第一预设全局内存管理模块中的第一地址映射管理单元确定出当前地址空间信息;
[0014]根据所述当前地址空间信息并利用所述第一预设全局内存管理模块中的内存动态管理单元确定出所述FPGA加速卡的内存状态信息。
[0015]可选的,所述利用第一预设全局内存管理模块确定内存状态信息,包括:
[0016]利用第一预设全局内存管理模块获取所述FPGA加速卡的当前可用内存和单次数据最大字节,以得到内存状态信息;
[0017]相应的,所述获取Host端发送的根据所述内存状态信息确定的待处理数据,包括:
[0018]获取Host端发送的根据所述内存状态信息确定的待处理数据;所述待处理数据中包括根据所述内存状态信息确定的数据结构。
[0019]可选的,所述利用第一计算内核和第二预设全局内存管理模块从所述FPGA全局内存中读取所述待处理数据进行数据计算,包括:
[0020]利用第二预设全局内存管理模块的第二地址映射管理单元确定出全局内存访问路径表;
[0021]利用第一计算内核并根据所述全局内存访问路径表从所述FPGA全局内存中读取所述待处理数据进行数据计算。
[0022]可选的,所述利用第二计算内核和所述当前内核计算结果进行数据计算,以得到目标数据结果,包括:
[0023]利用第二计算内核和所述当前内核计算结果进行数据计算,以得到当前待判断计算结果;
[0024]判断所述当前待判断计算结果是否满足预设局部内存调用条件;
[0025]如果满足,则利用所述预设局部内存管理模块将所述当前待判断计算结果缓存至所述FPGA局部内存,并确定出当前待计算内核;利用所述当前待计算内核和所述当前待判断计算结果进行数据计算,将计算得到的结果确定为新的当前待判断计算结果,跳转至所述判断所述当前待判断计算结果是否满足所述预设局部内存调用条件的步骤,直至所述当前待判断计算结果不满足所述预设局部内存调用条件;
[0026]如果不满足,则将所述当前待判断计算结果确定为目标数据结果。
[0027]可选的,所述利用预设局部内存管理模块将计算得到的当前内核计算结果缓存至FPGA局部内存之前,还包括:
[0028]判断所述当前内核计算结果是否满足所述预设局部内存调用条件;
[0029]如果满足,则触发所述利用预设局部内存管理模块将计算得到的当前内核计算结果缓存至FPGA局部内存的步骤;
[0030]如果不满足,则将所述当前内核计算结果确定为目标数据结果,并触发所述将所述目标数据结果返回至所述FPGA全局内存的步骤。
[0031]第二方面,本申请提供了一种数据加速计算装置,应用于FPGA加速卡,包括:
[0032]加速计算条件判断模块,用于判断当前是否满足预设数据加速计算条件;
[0033]待处理数据获取模块,用于如果当前满足预设数据加速计算条件,则利用第一预设全局内存管理模块确定内存状态信息,以获取Host端发送的根据所述内存状态信息确定的待处理数据,并将所述待处理数据迁移至FPGA全局内存;
[0034]第一数据计算模块,用于利用第一计算内核和第二预设全局内存管理模块从所述FPGA全局内存中读取所述待处理数据进行数据计算,并利用预设局部内存管理模块将计算
得到的当前内核计算结果缓存至FPGA局部内存;
[0035]第二数据计算模块,用于利用第二计算内核和所述当前内核计算结果进行数据计算,以得到目标数据结果,并将所述目标数据结果返回至所述FPGA全局内存,以便所述Host端从所述FPGA全局内存中读取所述目标数据结果。
[0036]第三方面,本申请提供了一种电子设备,包括:
[0037]存储器,用于保存计算机程序;
[0038]处理器,用于执行所述计算机程序以实现前述的数据加速计算方法。
[0039]第四方面,本申请提供了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的数据加速计算方法。
[0040]本申请中,判断当前是否满足预设数据加速计算条件;如果当前满足预设数据加速计算条件,则利用第一预设全局内存管理模块确定内存状态信息,以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据加速计算方法,其特征在于,应用于FPGA加速卡,包括:判断当前是否满足预设数据加速计算条件;如果当前满足预设数据加速计算条件,则利用第一预设全局内存管理模块确定内存状态信息,以获取Host端发送的根据所述内存状态信息确定的待处理数据,并将所述待处理数据迁移至FPGA全局内存;利用第一计算内核和第二预设全局内存管理模块从所述FPGA全局内存中读取所述待处理数据进行数据计算,并利用预设局部内存管理模块将计算得到的当前内核计算结果缓存至FPGA局部内存;利用第二计算内核和所述当前内核计算结果进行数据计算,以得到目标数据结果,并将所述目标数据结果返回至所述FPGA全局内存,以便所述Host端从所述FPGA全局内存中读取所述目标数据结果。2.根据权利要求1所述的数据加速计算方法,其特征在于,所述判断当前是否满足预设数据加速计算条件,包括:判断当前是否接收到Host端发送的根据初始计算任务确定的Host请求;如果是,则判定当前满足预设数据加速计算条件。3.根据权利要求1所述的数据加速计算方法,其特征在于,所述利用第一预设全局内存管理模块确定内存状态信息,包括:利用第一预设全局内存管理模块中的第一地址映射管理单元确定出当前地址空间信息;根据所述当前地址空间信息并利用所述第一预设全局内存管理模块中的内存动态管理单元确定出所述FPGA加速卡的内存状态信息。4.根据权利要求1所述的数据加速计算方法,其特征在于,所述利用第一预设全局内存管理模块确定内存状态信息,包括:利用第一预设全局内存管理模块获取所述FPGA加速卡的当前可用内存和单次数据最大字节,以得到内存状态信息;相应的,所述获取Host端发送的根据所述内存状态信息确定的待处理数据,包括:获取Host端发送的根据所述内存状态信息确定的待处理数据;所述待处理数据中包括根据所述内存状态信息确定的数据结构。5.根据权利要求1所述的数据加速计算方法,其特征在于,所述利用第一计算内核和第二预设全局内存管理模块从所述FPGA全局内存中读取所述待处理数据进行数据计算,包括:利用第二预设全局内存管理模块的第二地址映射管理单元确定出全局内存访问路径表;利用第一计算内核并根据所述全局内存访问路径表从所述FPGA全局内存中读取所述待处理数据进行数据计算。6.根据权利要求1至5任一项所述的数据加速计算方法,其特征在于,所述利用第二计算内核和所述当前内核计算结果进行数据计算,以得到目标数...

【专利技术属性】
技术研发人员:李乐乐赵鑫鑫姜凯李锐
申请(专利权)人:山东浪潮科学研究院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1