[发明专利]一种基于手动向量化的并行计算方法有效
| 申请号: | 201910780790.2 | 申请日: | 2019-08-22 |
| 公开(公告)号: | CN110673877B | 公开(公告)日: | 2020-09-01 |
| 发明(设计)人: | 杨昊;唐旭东;吴济良 | 申请(专利权)人: | 成都信息工程大学 |
| 主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
| 代理公司: | 成都智涌知识产权代理事务所(普通合伙) 51313 | 代理人: | 周正辉 |
| 地址: | 610225 四川省成都*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 手动 量化 并行 计算方法 | ||
本发明涉及一种基于手动向量化的并行计算方法,方法包括分析程序中的热点部分,并记录热点部分数组元素字长;根据任务精度要求,对热点部分的数组进行対界操作;对热点程序中核心函数中的不同精度的函数进行合并,对核心函数调用的函数进行降精度处理,将标准数学库函数改写成自定义数学库函数;对热点程序中的变量和自定义数学库函数进行手动向量化。通过对函数进行降精度,对变量、数组和函数进行手动向量化,使得基本数学函数也能一次指令对多个数据进行运算,大大提高了运算效率。
技术领域
本发明涉及高性能计算领域,尤其涉及一种基于手动向量化的并行计算方法。
背景技术
并行计算中的向量化的方法目前一般以优化循环结构为主,循环体中有复杂的关键字、操作、数据访问和内存操作等,都会影响对程序的相关性分析和向量化分析,从而不利于用户或编译器对程序进行向量化。例如,在if-else或switch-case等结构中一般优化效果不好。且程序中一般含有大量函数调用,一般只能在最内层函数做相关性分析后进行手动向量化,在改变程序相关性后,可将函数内的变量替换、操作替换,数组扩展等优化方法使函数展开或合并的方式进行优化。以上所有操作执行之前都需要进行向量对界操作,并人工确认算法正确性之后,才能进行SIMD扩展操作。
现有技术方案有:
方案1:对for循环结构中的变量替换方式进行手动向量化,一般将循环展开成向量寄存器的倍数进行优化。该方案可有效优化循环结构中的计算部分,但如果循环中有函数调用则实现起来比较复杂。
方案2:操作替换的方式进行手动向量化。虽然能解决更多的循环结构优化问题,可以减少一些不必要的重复计算,但对于有if-else结构出现或switch-case结构出现的情况依然性能提升不明显,方案1的问题不能得到根本解决。
方案3:对静态数组扩展进行手动向量化。静态数组可以很方便的进行SIMD扩展,而实际程序中有大量动态数组,和函数调用,不能有效解决动态数组问题,因对界操作难以进行。
方案4:将所调用函数展开或合并之后,在更外层使用SIMD扩展技术(即手动向量化)。该技术方案存在工作量太大,展开函数调用本就与最初程序编写人员本意相悖,且展开后难免还会有函数调用。因此此种方案难以有一个确定的标准,即函数展开到什么程度,才能得到有效的性能提升。
方案5:基于SW26010芯片的SW编译器自动向量化。关于自动向量化是一个发展方向,基于SW编译器的自动向量化,目前只能优化简单循环数组计算。程序中若有迭代计算则编译器将直接跳过,自动向量化目前效果不佳。
综上所述,现有技术普遍存在计算量大、算法实现复杂、性能不理想的问题。
发明内容
针对现有技术之不足,一种基于手动向量化的并行计算方法,所述方法包括:
步骤1:运用分析工具分析程序的热点程序,分析工具包括Intel平台的Vtune工具或神威·太湖之光系统中的Gprof工具,并记录热点程序中所有数组元素字长;
步骤2:根据任务精度要求,采用降精度或扩大精度的方式对热点程序中的数组进行对界操作,便于后续进行向量化优化;
步骤3:找到热点程序中核心函数调用的位置,若程序中有按宏条件处理不同函数,则在不影响性能的情况下先合并不同精度函数,简化后续向量化操作,然后在各个宏之下对各个函数分别进行向量扩展;
步骤4:将热点程序中的核心函数所调用的标准数学库函数中的库函数进行降精度处理,将其改写成步骤2调整后的精度的自定义数学函数,改写后的全部自定义数学函数构成自定义数学库函数,并将热点程序中的核心函数所调用的数学标准库函数替换为自定义数学库函数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都信息工程大学,未经成都信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910780790.2/2.html,转载请声明来源钻瓜专利网。





