This application discloses a data processing method based on heterogeneous computing chips. The heterogeneous computing chips include CPU and heterogeneous co-processing chips. The heterogeneous co-processing chips are GPU or FPGA. The data processing method includes that when receiving the data to be processed, the CPU determines the target algorithm in the heterogeneous co-processing chips according to the data to be processed. The data to be processed is sent to heterogeneous coprocessing chips. Heterogeneous coprocessing chips compute the data to be processed using all computing sub-processes, and copy the data stream corresponding to bottleneck sub-processes into a preset number of copies. When the data corresponding to all computing sub-processes are computed, the heterogeneous coprocessing chips calculate the data according to all computing sub-processes. The calculation results output the processing results of the data to be processed. This method can improve the data processing ability of heterogeneous chips. The application also discloses a data processing system based on heterogeneous computing chips, a computer readable storage medium and a heterogeneous computing chip, which have the above beneficial effects.
【技术实现步骤摘要】
一种基于异构计算芯片的数据处理方法、系统及相关组件
本专利技术涉及异构芯片
,特别涉及一种基于异构计算芯片的数据处理方法、系统、一种计算机可读存储介质及一种异构计算芯片。
技术介绍
在数据中心
中基于CPU(CentralProcessingUnit,中央处理器)+FPGA(Field-ProgrammableGateArray,现场可编程门阵列)异构加速或基于CPU+GPU(GraphicsProcessingUnit,图形处理器)异构是一个非常前沿的技术,目前很少有机构对其进行研究。而OpenCL是一种专门针对异构计算芯片(HeterogeneousDevice)进行并行化运算所设计的高层次程序语言,可大大提升研发效率,缩短产品研发周期。异构芯片主要包括CPU+GPU、CPU+FPGA以及CPU+DSP三种,由于异构芯片FPGA硬件和GPU硬件并行的特性,现有的在CPU上运行的串行算法并不能高效的在CPU+FPGA或CPU+GPU异构芯片上运行。但对于软件开发人来讲,尤其是没有硬件基础的开发人员,很多基于CPU的数据处理优化的方式并不能直接用于FPGA或GPU编程。因此,如何提升异构芯片的数据处理能力是本领域技术人员目前需要解决的技术问题。
技术实现思路
本申请的目的是提供一种基于异构计算芯片的数据处理方法、系统、一种计算机可读存储介质及一种异构计算芯片,能够提升异构芯片的数据处理能力。为解决上述技术问题,本申请提供一种基于异构计算芯片的数据处理方法,所述异构芯片为CPU+FPGA异构芯片或CPU+GPU异构芯片,该数据处理方法包括:当接收到待 ...
【技术保护点】
1.一种基于异构计算芯片的数据处理方法,所述异构计算芯片包括CPU和异构协处理芯片,所述异构协处理芯片为GPU或FPGA,其特征在于,所述数据处理方法包括:当接收到待处理数据时,所述CPU根据所述待处理数据确定异构协处理芯片中的目标算法,并将所述待处理数据发送至所述异构协处理芯片;其中,所述目标算法包括多个计算子流程;所述异构协处理芯片利用所有所述计算子流程计算所述待处理数据,并将瓶颈子流程对应的数据流复制为预设数量份,以便提升所述瓶颈子流程的计算性能;其中,所述瓶颈子流程为计算速度低于预设值的计算子流程;当所有所述计算子流程对应的数据计算完毕后,所述异构协处理芯片根据所有所述计算子流程的计算结果输出所述待处理数据的处理结果。
【技术特征摘要】
1.一种基于异构计算芯片的数据处理方法,所述异构计算芯片包括CPU和异构协处理芯片,所述异构协处理芯片为GPU或FPGA,其特征在于,所述数据处理方法包括:当接收到待处理数据时,所述CPU根据所述待处理数据确定异构协处理芯片中的目标算法,并将所述待处理数据发送至所述异构协处理芯片;其中,所述目标算法包括多个计算子流程;所述异构协处理芯片利用所有所述计算子流程计算所述待处理数据,并将瓶颈子流程对应的数据流复制为预设数量份,以便提升所述瓶颈子流程的计算性能;其中,所述瓶颈子流程为计算速度低于预设值的计算子流程;当所有所述计算子流程对应的数据计算完毕后,所述异构协处理芯片根据所有所述计算子流程的计算结果输出所述待处理数据的处理结果。2.根据权利要求1所述数据处理方法,其特征在于,所述将瓶颈子流程对应的数据流复制为预设数量份包括:判断所述瓶颈子流程是否为所述目标算法流程的最后一个计算子流程;若否,则将瓶颈子流程对应的数据流复制为所述预设数量份,利用所述瓶颈子流程并行的处理所述预设数量份的数据流,并对所述瓶颈子流程处理后的所有数据流进行数据融合,以便其他计算子流程继续计算所述待处理数据。3.根据权利要求2所述数据处理方法,其特征在于,将瓶颈子流程对应的数据流复制为所述预设数量份,利用所述瓶颈子流程并行的处理所述预设数量份的数据流包括:判断所述瓶颈子流程的数据处理基本单元对应的数据大小是否为固定值;其中,所述数据处理基本单元对应的数据大小为所述瓶颈子流程正常执行的最小数据量;若是,则将所述瓶颈子流程对应的数据流复制为所述预设数量份,利用所述瓶颈子流程并行的处理所述预设数量份的数据流;其中,所述预设数量份的数据流的数据量为所述最小数据量的整数倍;若否,则将所述瓶颈子流程对应的数据流复制为所述预设数量份,利用所述瓶颈子流程按照闭环反馈规则并行的处理所述预设数量份的数据流;其中,所述闭环反馈规则为当所述瓶颈子流程处理当前的数据流后发送结束标志,以便所述瓶颈子流程继续处理新的数据流。4.根据权利要求1所述数据处理方法,其特征在于,所述CPU将所述待处理数据发送至所述异构协处理芯片包括:所述CPU通过PCIE接口将所述待处理数据发送至所述异构协处理芯片。5.根据权利要求1所述数据处理方法,其特征在于,还包括:根据所述目标算法的算法功能将所述目标算法划分为多个所述计...
【专利技术属性】
技术研发人员:范宝余,郭振华,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。