[发明专利]一种基于异构众核处理器的算法并行处理方法及系统有效
申请号: | 202011139857.3 | 申请日: | 2020-10-22 |
公开(公告)号: | CN112306678B | 公开(公告)日: | 2022-10-04 |
发明(设计)人: | 魏志强;邢彪;王丹丹;杨永全 | 申请(专利权)人: | 中国海洋大学;青岛海洋科学与技术国家实验室发展中心 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F15/173 |
代理公司: | 北京工信联合知识产权代理有限公司 11266 | 代理人: | 姜丽楼 |
地址: | 266100 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 异构众核 处理器 算法 并行 处理 方法 系统 | ||
1.一种基于异构众核处理器的算法并行处理方法,其特征在于,所述方法包括:
对串行的目标算法以代码段的形式进行分析,确定每个代码段的运行耗时占比,并将运行耗时占比大于预设运行耗时占比阈值的代码段移植到目标异构众核处理器的每个核组的从核,由从核执行运算;
将待处理文件的数据以预设的字节数为单位进行数据块的划分,并基于负载均衡将所有的数据块均分至每个核组的从核;
多个核组以并行的方式执行运算,每个核组的从核依次获取与其对应的数据块,并利用相应的代码段进行解析和运算,以获取每个从核对应的结果数据;
将每个从核对应的结果数据发送至每个从核对应的主核中,并将每个核组的主核获取的结果数据存储到预设的全局数组中,并进行文件的写入,以获取目标文件;
其中,所述将每个从核对应的结果数据发送至每个从核对应的主核中,并将每个核组的主核获取的结果数据存储到预设的全局数组中,并进行文件的写入,以获取目标文件,包括:
将每个从核对应的结果数据发送至每个从核对应的位于主核中的冗余数组空间中进行存储;其中,一个从核对应一个冗余数组空间;
在每个从核的执行周期结束后,利用该从核对应的主核读取对应的冗余数组空间中的缓存数据;
每个主核采用异步串行方式对获取的所有的缓存数据进行汇总,以获取中间数据;
将每个主核对应的中间数据存储到预设的全局数组,并进行文件的写入,以获取目标文件。
2.根据权利要求1所述的方法,其特征在于,所述对串行的目标算法以代码段的形式进行分析,确定每个代码段的运行耗时占比,包括:
利用性能分析工具Kprof,以代码段的形式对所述串行的目标算法进行分析,确定每个代码段的运行耗时。
3.根据权利要求1所述的方法,其特征在于,每个核组的从核均通过Athread线程库的数据获取接口获取需求的辅助变量,并将获取的辅助变量保存到该从核对应的局部存储空间LDM中,以进行辅助变量的调用;其中,所述局部存储空间LDM包括:计算任务存储子区域和辅助变量存储子区域;所述计算任务存储子区域的大小为45KB。
4.根据权利要求1所述的方法,其特征在于,对于每一个核组的从核,当一个数据块对应的执行周期结束后,通过Athread线程库的数据返回接口将该从核对应的结果数据返回到该核组的主核中进行存储,并清空该核组的从核对应的局部存储空间。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将定义在主核中且在从核中需要频繁访问的变量和常量存储在结构体中;
将单变量进行数据打包,确保直接存储访问DMA的单次拷贝粒度大于256B,使每个核组的带宽接近峰值;
设置每个主核的数据主存地址为256B对界。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国海洋大学;青岛海洋科学与技术国家实验室发展中心,未经中国海洋大学;青岛海洋科学与技术国家实验室发展中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011139857.3/1.html,转载请声明来源钻瓜专利网。