[发明专利]一种数据处理方法、装置、设备及可读存储介质有效
申请号: | 202210077002.5 | 申请日: | 2022-01-24 |
公开(公告)号: | CN114090592B | 公开(公告)日: | 2022-04-26 |
发明(设计)人: | 刘科;张闯;孙颉;任智新;孙忠祥 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455;G06F16/28 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 姚莹丽 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据处理 方法 装置 设备 可读 存储 介质 | ||
1.一种数据处理方法,其特征在于,包括:
获取目标表达式,并将所述目标表达式转换为二叉树加链表的数据结构;
遍历所述数据结构,为所述数据结构的每个节点的操作数分配一个FPGA缓存区,并标记所述数据结构中的原始节点;
创建原始操作数映射表,并针对所述数据结构的每个层分别生成指令;
将所述原始操作数映射表和生成的指令发送至FPGA,以使所述FPGA根据所述原始操作数映射表将每个节点的操作数拷贝至相应FPGA缓存区,并根据生成的指令读取所述原始节点对应的FPGA缓存区中的原始操作数后,从所述数据结构的底层开始并行处理所述数据结构中处于同一层的操作码;
其中,所述原始操作数映射表用于记录:各个原始操作数与相应FPGA缓存区之间的映射关系,FPGA按照原始操作数映射表记录的映射关系来缓存数据。
2.根据权利要求1所述的方法,其特征在于,所述遍历所述数据结构,包括:
对所述数据结构进行前序遍历。
3.根据权利要求1所述的方法,其特征在于,所述为所述数据结构的每个节点的操作数分配一个FPGA缓存区,包括:
将FPGA缓存划分为固定大小的多个FPGA缓存区,并为每个FPGA缓存区分配缓存索引;
为所述数据结构的每个节点的操作数分配一个缓存索引,并以数组方式进行记录。
4.根据权利要求3所述的方法,其特征在于,为不同节点分配的各FPGA缓存区连续。
5.根据权利要求1-4任意一项所述的方法,其特征在于,任一个指令包括至少一个操作码,任一操作码对应有操作函数及操作数所在的FPGA缓存区的缓存索引。
6.根据权利要求1-4任意一项所述的方法,其特征在于,所述针对所述数据结构的每个层分别生成指令,包括:
将所述数据结构每个层的操作码组成一个队列;
若所述FPGA中用于处理任一队列的计算资源充足,则将该队列中的各操作码编入同一个指令;
若所述FPGA中用于处理任一队列的计算资源不充足,则按照所述FPGA中用于处理该队列的空闲计算资源量将该队列中的各操作码编入不同指令。
7.一种数据处理装置,其特征在于,包括:
获取模块,用于获取目标表达式,并将所述目标表达式转换为二叉树加链表的数据结构;
分配模块,用于遍历所述数据结构,为所述数据结构的每个节点的操作数分配一个FPGA缓存区,并标记所述数据结构中的原始节点;
映射及指令生成模块,用于创建原始操作数映射表,并针对所述数据结构的每个层分别生成指令;
处理模块,用于将所述原始操作数映射表和生成的指令发送至FPGA,以使所述FPGA根据所述原始操作数映射表将每个节点的操作数拷贝至相应FPGA缓存区,并根据生成的指令读取所述原始节点对应的FPGA缓存区中的原始操作数后,从所述数据结构的底层开始并行处理所述数据结构中处于同一层的操作码;
其中,所述原始操作数映射表用于记录:各个原始操作数与相应FPGA缓存区之间的映射关系,FPGA按照原始操作数映射表记录的映射关系来缓存数据。
8.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至6任一项所述的方法。
9.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210077002.5/1.html,转载请声明来源钻瓜专利网。