[发明专利]一种基于手动向量化的并行计算方法有效
申请号: | 201910780790.2 | 申请日: | 2019-08-22 |
公开(公告)号: | CN110673877B | 公开(公告)日: | 2020-09-01 |
发明(设计)人: | 杨昊;唐旭东;吴济良 | 申请(专利权)人: | 成都信息工程大学 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
代理公司: | 成都智涌知识产权代理事务所(普通合伙) 51313 | 代理人: | 周正辉 |
地址: | 610225 四川省成都*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 手动 量化 并行 计算方法 | ||
1.一种基于手动向量化的并行计算方法,其特征在于,所述方法包括:
步骤1:运用分析工具分析程序的热点程序,分析工具包括Intel平台的Vtune工具或神威·太湖之光系统中的Gprof工具,并记录热点程序中所有数组元素字长;
步骤2:根据任务精度要求,采用降精度或扩大精度的方式对热点程序中的数组进行对界操作,便于后续进行向量化优化;
步骤3:找到热点程序中核心函数调用的位置,若程序中有按宏条件处理不同函数,则在不影响性能的情况下先合并不同精度函数,简化后续向量化操作,然后在各个宏之下对各个函数分别进行向量扩展;
步骤4:将热点程序中的核心函数所调用的标准数学库函数中的库函数进行降精度处理,将其改写成步骤2调整后的精度的自定义数学函数,改写后的全部自定义数学函数构成自定义数学库函数,并将热点程序中的核心函数所调用的数学标准库函数替换为自定义数学库函数;
步骤5:使用SWCC编译器提供的SIMD扩展接口对热点程序中的变量根据需要进行全局手动向量化或部分手动向量化,用于将多个变量封装成向量并使用SIMD接口对向量进行所述变量原来的运算;
步骤6:对步骤4改写的所述自定义数学库函数运用SWCC编译器的SIMD扩展接口进行手动向量化,封装变量成向量扩展每次运算的数据长度,并将所述自定义数学库函数中需要用到的常数扩展为向量长度以対界。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都信息工程大学,未经成都信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910780790.2/1.html,转载请声明来源钻瓜专利网。