当前位置: 首页 > 专利查询>深圳大学专利>正文

CPU和MIC协同计算方法、装置及存储介质制造方法及图纸

技术编号:22218606 阅读:27 留言:0更新日期:2019-09-30 01:07
一种CPU和MIC协同计算方法、装置及存储介质,其中,该CPU和MIC协同计算方法包括:CPU和MIC集群中的主进程将待处理数据广播给N*(M+1)个计算进程;各个所述计算进程调用CPU或MIC卡进行计算;其中,若调用的是MIC卡,则将所述待处理数据传输到MIC卡上进行计算;若调用的是CPU,则启用Pthread多线程进行计算。

CPU and MIC Cooperative Computing Method, Device and Storage Media

【技术实现步骤摘要】
CPU和MIC协同计算方法、装置及存储介质
本申请涉及电子
,尤其涉及一种CPU和MIC协同计算方法、装置及存储介质。
技术介绍
目前已经有了一些支撑点选取算法,例如FFT算法,Incremental算法,但是不同算法间的性能差别往往不大,用复杂的数学工具以很高的构建计算代价得到的支撑点带来的索引性能提升往往相对较少。PEA(PivotEnumerationAlgorithm支撑点枚举算法)是探索支撑点对索引性能影响上下限,和进一步提升的空间的最好方法。在现有大数据环境下,PEA作为一种串行算法,是对计算资源的浪费。并且随着数据量增大,计算量呈指数级上升,计算时间过长会影响到整个领域研究进度。因此,如果设计一种并行化算法,可以极大提高计算效率。
技术实现思路
本申请实施例提供一种CPU和MIC协同计算方法、装置及存储介质,通过CPU和MIC的协同计算实现数据处理的并行化计算。本申请实施例第一方面提供的CPU和MIC协同计算方法,包括:中央处理器(CPU,CentralProcessingUnit)和集成众核(MIC,ManyIntegratedCore)集群中的主进程将待处理数据广播给N*(M+1)个计算进程;其中,所述CPU和MIC集群包括:N*(M+1)个计算进程和1个主进程;所述主进程用于数据分配和输入输出数据处理,所述计算进程用于具体的数据运算;所述CPU和MIC集群包含有N个计算节点,每个所述计算节点包含M个MIC卡以及一个CPU,每个MIC卡或CPU对应一个计算进程;各个所述计算进程调用CPU或MIC卡进行计算;其中,若调用的是MIC卡,则将所述待处理数据传输到MIC卡上进行计算;若调用的是CPU,则启用Pthread多线程进行计算。进一步地,所述将所述待处理数据传输到MIC卡上进行计算,包括:在MIC卡上使用offload模式对所述待处理数据进行处理进一步地,所述方法还包括:对于候选集中每一个待处理数据的查询对象q,参考对象x,查询半径r,支撑点p,判断待处理数据的三角不等性,若满足所述三角不等性,则表示查询对象可被直接查询;遍历候选集结束,程序终止。进一步地,所述判断待处理数据的三角不等性,包括:判断待处理数据是否满足|d(q,p)-d(p,x)|>r,d(q,p)+d(p,x))<=r任意一个不等式,若满足任意一个不等式,则确定所述待处理数据满足三角不等性。本申请实施例第二方面的提供电子装置,包括:数据传输单元,用于将待处理数据广播给N*(M+1)个计算进程;其中,CPU和MIC集群包括:N*(M+1)个计算进程和1个主进程;所述主进程用于数据分配和输入输出数据处理,所述计算进程用于具体的数据运算;所述CPU和MIC集群包含有N个计算节点,每个所述计算节点包含M个MIC卡以及一个CPU,每个MIC卡或CPU对应一个计算进程;数据处理单元,用于将各个所述计算进程调用CPU或MIC卡进行计算;其中,若调用的是MIC卡,则将所述待处理数据传输到MIC卡上进行计算,计算完成后将处理后数据返回;若调用的是CPU,则启用Pthread多线程进行计算。进一步地,所述将所述待处理数据传输到MIC卡上进行计算,包括:在MIC卡上使用offload模式对所述待处理数据进行处理进一步地,所述数据处理单元,还用于:对于候选集中每一个待处理数据的查询对象q,参考对象x,查询半径r,支撑点p,判断待处理数据的三角不等性,若满足所述三角不等性,则表示查询对象可被直接查询;遍历候选集结束,程序终止。进一步地,所述判断待处理数据的三角不等性,包括:判断待处理数据是否满足|d(q,p)-d(p,x)|>r,d(q,p)+d(p,x))<=r任意一个不等式,若满足任意一个不等式,则确定所述待处理数据满足三角不等性。本申请实施例第三方面提供另一种电子装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述本申请实施例第一方面提供的CPU和MIC协同计算方法。本申请实施例第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述本申请实施例第一方面提供的CPU和MIC协同计算方法。由上可见,本申请方案中的CPU和MIC集群包括:N*(M+1)个计算进程和1个主进程;所述CPU和MIC集群包含有N个计算节点,每个所述计算节点包含M个MIC卡以及一个CPU,每个MIC卡或CPU对应一个计算进程;在进行数据处理时,主进程将待处理数据广播给N*(M+1)个计算进程,各个计算进程调用CPU或MIC卡进行计算,从而实现了数据的并行化处理,提高了运算的效率。附图说明图1-a为本申请实施例提供的CPU和MIC协同计算方法的实现流程示意图;图1-b为本申请实施例提供的多节点CPU+MIC协同计算并行层次结构示意图;图1-c为本申请实施例提供的多节点CPU+MIC系统计算流程示意图;图1-d为本申请实施例提供的基于MIC卡的支撑点并行枚举算法流程示意图;图2为本申请一实施例提供的电子装置结构示意图;图3为本申请另一实施例提供的电子装置硬件结构示意图。具体实施方式为使得本申请的专利技术目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。在本文中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本专利技术的说明,其本身并没有特定的意义。PEAM(ParallelPivotEnumerationAlgorithmonMIC基于MIC卡的支撑点并行枚举算法)是一个适用于CPU+MIC混合架构的大规模集群下的并行算法。经天河二号异构平台测试,有效减少运算时间且具有良好的并行效果。实施例一本申请实施例提供一种CPU和MIC协同计算方法、装置及存储介质,通过CPU和MIC的协同计算实现数据处理的并行化计算。请参阅图1-a,该CPU和MIC协同计算方法主要包括以下步骤:101、CPU和MIC集群中的主进程将待处理数据广播给计算进程;CPU和MIC集群中的主进程将待处理数据广播给N*(M+1)个计算进程;其中,所述CPU和MIC集群包括:N*(M+1)个计算进程和1个主进程;所述主进程用于数据分配和输入输出数据处理,所述计算进程用于具体的数据运算;所述CPU和MIC集群包含有N个计算节点,每个所述计算节点包含M个MIC卡以及一个CPU,每个MIC卡或CPU对应一个计算进程。102、各个所述计算进程调用CPU或M本文档来自技高网...

【技术保护点】
1.一种CPU和MIC协同计算方法,其特征在于,应用于中央处理器CPU和集成众核MIC的协同计算,包括:CPU和MIC集群中的主进程将待处理数据广播给N*(M+1)个计算进程;其中,所述CPU和MIC集群包括:N*(M+1)个计算进程和1个主进程;所述主进程用于数据分配和输入输出数据处理,所述计算进程用于具体的数据运算;所述CPU和MIC集群包含有N个计算节点,每个所述计算节点包含M个MIC卡以及一个CPU,每个MIC卡或CPU对应一个计算进程;各个所述计算进程调用CPU或MIC卡进行计算;其中,若调用的是MIC卡,则将所述待处理数据传输到MIC卡上进行计算;若调用的是CPU,则启用Pthreads多线程进行计算。

【技术特征摘要】
1.一种CPU和MIC协同计算方法,其特征在于,应用于中央处理器CPU和集成众核MIC的协同计算,包括:CPU和MIC集群中的主进程将待处理数据广播给N*(M+1)个计算进程;其中,所述CPU和MIC集群包括:N*(M+1)个计算进程和1个主进程;所述主进程用于数据分配和输入输出数据处理,所述计算进程用于具体的数据运算;所述CPU和MIC集群包含有N个计算节点,每个所述计算节点包含M个MIC卡以及一个CPU,每个MIC卡或CPU对应一个计算进程;各个所述计算进程调用CPU或MIC卡进行计算;其中,若调用的是MIC卡,则将所述待处理数据传输到MIC卡上进行计算;若调用的是CPU,则启用Pthreads多线程进行计算。2.根据权利要求1所述的方法,其特征在于,所述将所述待处理数据传输到MIC卡上进行计算,包括:在MIC卡上使用offload模式对所述待处理数据进行处理。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:对于候选集中每一个待处理数据的查询对象q,参考对象x,查询半径r,支撑点p,判断待处理数据的三角不等性,若满足所述三角不等性,则表示查询对象可被直接查询;遍历候选集结束,程序终止。4.根据权利要求3所述的方法,其特征在于,所述判断待处理数据的三角不等性,包括:判断待处理数据是否满足|d(q,p)-d(p,x)|>r,d(q,p)+d(p,x))<=r任意一个不等式,若满足任意一个不等式,则确定所述待处理数据满足三角不等性。5.一种电子装置,其特征在于,包括:数据传输单元,用于将待处理数据广播给N*(M+1)个计算进程;其中,CPU和MIC集群包括:N*(M+1)...

【专利技术属性】
技术研发人员:毛睿胡梓良刘开南陆敏华陆克中罗秋明雷海军蔡晔王毅廖好周池
申请(专利权)人:深圳大学
类型:发明
国别省市:广东,44

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

1