[发明专利]基于数据结构的众核程序重构方法有效
申请号: | 201910910099.1 | 申请日: | 2019-09-25 |
公开(公告)号: | CN112559031B | 公开(公告)日: | 2022-10-04 |
发明(设计)人: | 徐金秀;何香;陈鑫;徐占;刘鑫;李芳;孙唯哲;郭恒;赵朋朋 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F8/72 | 分类号: | G06F8/72;G06F8/41;G06F9/30;G06F9/448 |
代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 王健 |
地址: | 214083 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 数据结构 程序 方法 | ||
本发明公开一种基于数据结构的众核程序重构方法,包括基于提取基本类型数据结构的重构方法、基于数组降维的空间压缩的重构方法、基于增大传输字长的空间压缩的重构方法。本发明主要针对多级异构众核并行计算问题中多样化的数据结构,提供高效的数据结构重构方法,提高异构并行程序的计算效率。
技术领域
本发明涉及一种基于数据结构的众核程序重构方法,属于计算机技术领域。
背景技术
近年高性能计算技术高速发展,数值模拟计算软件不仅对计算机系统的计算性能追求越来越高,对计算机系统的存储能力也提出了更高的要求。数据结构是影响计算软件性能的关键因素,依托多核计算系统设计的计算软件,在异构众核系统上进行计算时,其数据结构往往成为制约计算系统计算能力的软肋。
任何计算软件想要获得正确的结果和好的性能,必须要针对数据对象设计出理想的数据结构。在研究数据结构时,通常考虑数据元素的关系及其实现方式,与此同时,需要考虑算法实现和运算执行效率。计算软件众核并行化过程中遇到的普遍问题是,离散的数据结构或者关系错综复杂的数据结构导致从核频繁的访问无规律的主核存储地址,极大地降低了计算软件众核并行加速性能。
大多数应用软件涉及的数据结构复杂,大量的物理量存储结构为基本数据类型多维数组,逻辑关系复杂的数据元素存储结构为复杂数据类型,实现众核并行化,从核需要访问主核存储地址,拷贝一定长度的数据到从核存储空间,最终从核实现高效访存与计算。目前,异构众核协处理器结构简单,计算能力强大,储存能力有限,因此,传统的多核程序直接异构众核并行化,会普遍出现协处理器访存异常的问题。
发明内容
本发明的目的是提供一种基于数据结构的众核程序重构方法,该基于数据结构的众核程序重构方法主要针对多级异构众核并行计算问题中多样化的数据结构,提供高效的数据结构重构方法,提高异构并行程序的计算效率。
为达到上述目的,本发明采用的技术方案是:一种基于数据结构的众核程序重构方法,包括基于提取基本类型数据结构的重构方法、基于数组降维的空间压缩的重构方法、基于增大传输字长的空间压缩的重构方法;
所述基于提取基本类型数据结构的重构方法包括以下步骤:
S11、利用性能分析工具或打印输出信息,分析程序运行时的多个时间热点函数,找出各个时间热点函数中最耗时程序段;
S12、针对各个时间热点函数中的最耗时循环段,逐一进行分析,首先分析循环段的数据结构,若循环段内存在复杂数据类型声明的数据变量,执行S13;若循环段内只存在基本数据类型声明的数据变量,循环段由从核完成,执行S16;
S13、提取循环段内复杂数据类型声明的数据变量中与循环段任务相关的基本数据类型成员变量,称为原始变量,并进行相应的基本数据类型数据变量别名声明,称为新变量;
S14、在时间热点函数变量声明部分增加S13中提取的新变量的声明,在时间热点函数执行部分的开始位置,将原始变量的内存地址和相对应的新变量内存地址进行地址上下界匹配;
S15、修改循环段中原始变量名为新变量名,循环段任务由从核完成,执行S16;
S16、针对由从核完成的循环段任务,直接使用编译指示进行众核加速并行。
所述基于数组降维的空间压缩的重构方法包括以下步骤:
S21、利用性能分析工具或打印输出信息,分析程序运行时的多个时间热点函数,找出各个时间热点函数中最耗时程序段;
S22、针对各个时间热点函数中的最耗时循环段,逐一进行分析,若循环段中的数据结构存在多维数组,且多维数组不存在数据依赖关系,执行S23;若循环段中没有多维数组,或者多维数组之间存在数据依赖关系,执行S25;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910910099.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:具有多重条件判别的循环优化方法
- 下一篇:基于循环段的众核程序重构方法