计算引擎通信方法及装置制造方法及图纸

技术编号:37422497 阅读:18 留言:0更新日期:2023-04-30 09:44
本申请公开了计算引擎通信方法及装置,应用于计算引擎通信技术领域,包括:获取主机端计算引擎发送的设备端程序数据;其中,所述设备端程序数据为对包含通信函数以及计算任务函数的程序代码编译得到的程序数据,所述通信函数为基于通信需求创建的函数;利用设备端计算引擎执行所述设备端程序数据,基于所述计算任务函数对目标数据进行计算以得到计算结果,并基于所述通信函数将所述计算结果发送至目标接收端,以实现所述设备端计算引擎与所述目标接收端中计算引擎之间的通信。能够避免主机端计算引擎分配通信任务,释放主机端计算引擎的算力,并且,适应于同一节点内不同计算引擎以及不同节点之间计算引擎的通信场景。以及不同节点之间计算引擎的通信场景。以及不同节点之间计算引擎的通信场景。

【技术实现步骤摘要】
计算引擎通信方法及装置


[0001]本申请涉及计算引擎通信
,特别涉及计算引擎通信方法及装置。

技术介绍

[0002]随着传统的摩尔定律的发展,算力的发展经历了从提升单个处理器的主频、提升单个芯片内处理器的数量,再到提升单个算力网络内芯片的数量(例如大规模的云计算网络)。目前芯片制程所带来的红利几乎消失殆尽,依靠堆砌芯片数量也遇到了算力不匹配、能耗居高不下等一系列问题。针对目前多样化、巨型化的计算任务,在同一套系统内部署多种不同架构的计算引擎例如,CPU(即Central Processing Unit,中央处理器)、GPU(即Graphics Processing Unit,图像处理单元)、FPGA(即Field Programmable Gate Array,现场可编程与门阵列)等,根据各种不同架构的计算引擎各自的特性,或是服务于同一个任务的不同环节,或是服务于不同的任务,实现算力的最大化利用,已经成为了业界的共识和发展趋势。
[0003]由于传统的计算机体系结构系统中网络软件协议栈和网络硬件设备的历史遗留问题的存在,在一个具有多元异构多计算引擎的系统中,各类计算节点的引擎芯片、PCIE(即Peripheral Component Interconnect Express,传输控制协议)或局部互联总线、网卡之间彼此独立,相互通信效率和计算效能变得十分低效,并且自由度和灵活性不高,使得目前大型算力网络,不仅仅有计算设备算力性能的问题,还要面对不同架构的计算引擎之间低效通信所变相导致的瓶颈。现有的不同计算引擎之间的通信方案,通常分为节点内部的通信方案以及不同节点间的通信方案,并且,通信任务通常需要主机端的计算引擎,主机端的计算仍负担较多工作。

技术实现思路

[0004]有鉴于此,本申请的目的在于提供计算引擎通信方法及装置,能够避免主机端计算引擎分配通信任务,释放主机端计算引擎的算力,并且,适应于同一节点内不同计算引擎以及不同节点之间计算引擎的通信场景。其具体方案如下:
[0005]第一方面,本申请公开了一种计算引擎通信方法,应用于第一设备端,包括:
[0006]获取主机端计算引擎发送的设备端程序数据;其中,所述设备端程序数据为对包含通信函数以及计算任务函数的程序代码编译得到的程序数据,所述通信函数为基于通信需求创建的函数;
[0007]利用设备端计算引擎执行所述设备端程序数据,基于所述计算任务函数对目标数据进行计算以得到计算结果,并基于所述通信函数将所述计算结果发送至目标接收端,以实现所述设备端计算引擎与所述目标接收端中计算引擎之间的通信。
[0008]可选的,所述获取主机端计算引擎发送的设备端程序数据,包括:
[0009]通过RDMA模块获取主机端计算引擎发送的设备端程序数据;其中,所述RDMA模块与所述设备端计算引擎集成在同一芯片中;
[0010]相应的,所述基于所述通信函数将所述计算结果发送至目标接收端,包括:基于所述通信函数,并通过所述RDMA模块将所述计算结果发送至目标接收端。
[0011]可选的,所述通过RDMA模块获取主机端计算引擎发送的设备端程序数据,包括:
[0012]通过RDMA模块获取主机端计算引擎发送的目标数据、参数信息以及设备端程序数据;其中,所述参数信息包括所述目标数据写入所述第一设备端的内存的首地址以及长度信息;
[0013]基于所述参数信息将所述目标数据写入所述内存;
[0014]相应的,所述利用设备端计算引擎执行所述设备端程序数据,基于所述计算任务函数对所述目标数据进行计算以得到计算结果,包括:
[0015]利用设备端计算引擎执行所述设备端程序数据,基于所述参数信息从所述内存中读取所述目标数据,并基于所述计算任务函数对所述目标数据进行计算以得到计算结果。
[0016]可选的,所述基于所述通信函数,并通过所述RDMA模块将所述计算结果发送至目标接收端,包括:
[0017]基于所述通信函数将所述目标接收端的标识信息写入通信表,并通知表解析引擎;
[0018]通过所述表解析引擎从所述通信表中获取所述目标接收端的标识信息,并获取所述标识信息对应的IP地址;
[0019]通过所述RDMA模块基于所述IP地址将所述计算结果发送至目标接收端。
[0020]可选的,还包括:
[0021]将所述计算结果写入内存中的数据区域,并将写入地址、数据长度写入所述通信表;
[0022]通过所述表解析引擎从所述通信表中获取所述写入地址、所述数据长度,并将所述写入地址、所述数据长度以及所述IP地址写入所述RDMA模块中的存储器。
[0023]可选的,所述通过所述RDMA模块基于所述IP地址将所述计算结果发送至目标接收端,包括:
[0024]通过所述RDMA模块检测所述存储器,并在所述存储器不为空时,从所述存储器中读取出所述写入地址、所述数据长度以及所述IP地址,根据所述写入地址和所述数据长度从所述内存中读取所述计算结果,基于所述IP地址将所述计算结果发送至目标接收端。
[0025]可选的,所述获取所述标识信息对应的IP地址,包括:
[0026]从IP标识对照表中获取所述标识信息对应的IP地址。
[0027]可选的,还包括:
[0028]通过所述RDMA模块,向主机端发送发现消息,以便所述主机端基于各设备端的发现消息为所述各设备端分别分配IP地址以及标识信息;
[0029]获取所述主机端发送的所述各设备端的IP地址以及标识信息、所述主机端的IP地址以及标识信息;
[0030]将所述各设备端的IP地址以及标识信息、所述主机端的IP地址以及标识信息保存至所述IP标识对照表。
[0031]可选的,所述通过所述RDMA模块,向主机端发送发现消息之后,还包括:
[0032]通过所述RDMA模块,获取所述主机端为所述第一设备端分配的IP地址以及标识信
息,并向所述主机端回复确认信息,以便所述主机端在收到所述各设备端回复的确认信息后,保存所述各设备端的IP地址以及标识信息,并将所述各设备端的IP地址以及标识信息、所述主机端的IP地址以及标识信息发送给所述各设备端;
[0033]其中,确认信息携带所述主机端为相应设备端分配的IP地址以及标识信息。
[0034]可选的,所述目标接收端为主机端或第二设备端;
[0035]若所述目标接收端为多个第二设备端,则所述基于所述通信函数将所述目标接收端的标识信息写入通信表,包括:
[0036]基于所述通信函数将多个所述第二设备端的标识信息均写入通信表。
[0037]可选的,若所述目标接收端为第二设备端,所述第二设备端通过自身的RDMA模块接收所述计算结果,并将所述计算结果保存在自身的内存中。
[0038]可选的,在基于所述通信函数将所述计算结果发送至第二设备端之后,还包括:
[0039]向所述第二设备端发送传输结束信本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种计算引擎通信方法,其特征在于,应用于第一设备端,包括:获取主机端计算引擎发送的设备端程序数据;其中,所述设备端程序数据为对包含通信函数以及计算任务函数的程序代码编译得到的程序数据,所述通信函数为基于通信需求创建的函数;利用设备端计算引擎执行所述设备端程序数据,基于所述计算任务函数对目标数据进行计算以得到计算结果,并基于所述通信函数将所述计算结果发送至目标接收端,以实现所述设备端计算引擎与所述目标接收端中计算引擎之间的通信。2.根据权利要求1所述的计算引擎通信方法,其特征在于,所述获取主机端计算引擎发送的设备端程序数据,包括:通过RDMA模块获取主机端计算引擎发送的设备端程序数据;其中,所述RDMA模块与所述设备端计算引擎集成在同一芯片中;相应的,所述基于所述通信函数将所述计算结果发送至目标接收端,包括:基于所述通信函数,并通过所述RDMA模块将所述计算结果发送至目标接收端。3.根据权利要求2所述的计算引擎通信方法,其特征在于,所述通过RDMA模块获取主机端计算引擎发送的设备端程序数据,包括:通过RDMA模块获取主机端计算引擎发送的目标数据、参数信息以及设备端程序数据;其中,所述参数信息包括所述目标数据写入所述第一设备端的内存的首地址以及长度信息;基于所述参数信息将所述目标数据写入所述内存;相应的,所述利用设备端计算引擎执行所述设备端程序数据,基于所述计算任务函数对所述目标数据进行计算以得到计算结果,包括:利用设备端计算引擎执行所述设备端程序数据,基于所述参数信息从所述内存中读取所述目标数据,并基于所述计算任务函数对所述目标数据进行计算以得到计算结果。4.根据权利要求2所述的计算引擎通信方法,其特征在于,所述基于所述通信函数,并通过所述RDMA模块将所述计算结果发送至目标接收端,包括:基于所述通信函数将所述目标接收端的标识信息写入通信表,并通知表解析引擎;通过所述表解析引擎从所述通信表中获取所述目标接收端的标识信息,并获取所述标识信息对应的IP地址;通过所述RDMA模块基于所述IP地址将所述计算结果发送至目标接收端。5.根据权利要求4所述的计算引擎通信方法,其特征在于,还包括:将所述计算结果写入内存中的数据区域,并将写入地址、数据长度写入所述通信表;通过所述表解析引擎从所述通信表中获取所述写入地址、所述数据长度,并将所述写入地址、所述数据长度以及所述IP地址写入所述RDMA模块中的存储器。6.根据权利要求5所述的计算引擎通信方法,其特征在于,所述通过所述RDMA模块基于所述IP地址将所述计算结果发送至目标接收端,包括:通过所述RDMA模块检测所述存储器,并在所述存储器不为空时,从所述存储器中读取出所述写入地址、所述数据长度以及所述IP地址,根据所述写入地址和所述数据长度从所述内存中读取所述计算结果,基于所述IP地址将所述计算结果发送至目标接收端。7.根据权利要求4所述的计算引擎通信方法,其特征在于,所述获取所述标识信息对应
的IP地址,包括:从IP标识对照表中获取...

【专利技术属性】
技术研发人员:阚宏伟肖麟阁赵谦谦郝锐
申请(专利权)人:广东浪潮智慧计算技术有限公司
类型:发明
国别省市:

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

1