[发明专利]基于向量计算的编译时低功耗优化方法在审
申请号: | 201910794732.5 | 申请日: | 2019-08-27 |
公开(公告)号: | CN112445316A | 公开(公告)日: | 2021-03-05 |
发明(设计)人: | 管茂林;沈莉;王飞;钱宏;肖谦;吴伟;武文浩;周文浩 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F1/3234 | 分类号: | G06F1/3234;G06F8/41 |
代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 王健 |
地址: | 214083 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 向量 计算 编译 功耗 优化 方法 | ||
本发明公开一种基于向量计算的编译时低功耗优化方法,包括以下步骤:编译器读入源程序,通过词法分析、语法分析、语义分析、控制流分析、数据流分析的优化分析手段,识别出向量计算参数为常量的情况并进行标记;编译器在分析出向量计算表达式中参数为立即数向量时,在进行表达式匹配时,调用向量静态预计算库进行计算,然后用计算后的结果替换原有的表达式;编译器分析出向量计算中参数为赋初值变量或者常量变量时,调用向量静态预计算库进行计算,然后用计算后的结果替换原有的表达式。本发明实现在编译时尽量挖掘向量数据的预计算能力的目的,挖掘向量数据的预计算能力,减少运行时的向量访存与计算,提高程序性能,降低处理器能耗。
技术领域
本发明涉及一种基于向量计算的编译时低功耗优化方法,属于计算机技术领域。
背景技术
为了提升计算性能,目前很多的主流处理器都支持向量指令。例如Intel的AVX指令集目前已经支持512b的向量计算。与传统的标量计算相比,一条向量指令可以同时完成多条标量指令的功能,不仅可以极大地加速程序的执行,另一方面也减少了程序运行带来的能量消耗。
为了充分发挥处理器的性能,高效的编译优化不可或缺。然而针对向量计算的编译优化面临诸多困难,向量指令的特殊性对程序的局域性、数据之间的相关性、向量与标量之间的转换等都有独特的要求,主流编译器GCC针对向量计算一般也只是简单地将其编译成处理器硬件支持的向量指令执行,无法最大限度的发挥出编译的优化能力。
目前针对向量的编译优化技术(除Intel处理器的Icc商用编译器的自动向量化之外)并不多见,效果也并不理想,向量计算在很多情况下无法优化到最优效果,即便是主流编译器GCC也不例外。例如针对参数为常量(如立即数向量、赋初值变量或者常量变量)的向量计算,GCC仍然是将参数传递到后端,最终生出向量计算指令(如向量加法、向量乘法等)进行运行时计算;而向量常量参数的值则存放在相应的数据段中,通过访存操作加载到寄存器中然后再进行向量计算。这样一来,原本在编译时可以确定结果的计算需要通过多次运行时的访存及计算才能获得结果,实际上这降低了程序的计算效率、增加了运行时功耗。
发明内容
本发明的目的是提供一种基于向量计算的编译时低功耗优化方法,该基于向量计算的编译时低功耗优化方法实现在编译时尽量挖掘向量数据的预计算能力的目的,挖掘向量数据的预计算能力,减少运行时的向量访存与计算,提高程序性能,降低处理器能耗。
为达到上述目的,本发明采用的技术方案是:一种基于向量计算的编译时低功耗优化方法,包括以下步骤:
S1、构建向量静态预计算库,具体包括以下步骤:
S11、提取参与计算的向量的每一个标量分量,为每一对对应的标量分量分别调用GCC原有的标量计算库进行计算,得出结果;
S12、将S11中计算出的标量结果按照次序组装成新的结果向量;
S13、对S12中获得的结果向量进行类型及范围检测,确认新的结果向量符合源操作数向量数据类型要求以及其数值在源操作数向量数据类型所能表示的最大最小值范围之内;
S2、编译器读入源程序,依次通过词法分析、语法分析、语义分析、控制流分析和数据流分析,识别出向量计算参数为常量的情况并进行标记;
S3、编译器前端在词法分析、语法分析、语义分析的基础上,当分析出向量计算表达式中参数为立即数向量时,在进行表达式匹配时,调用向量静态预计算库进行计算,然后用计算后的结果替换原有的表达式;
S4、编译器中端在控制流分析、数据流分析的基础上,当分析出向量计算表达式中参数为赋初值变量或者常量变量时,调用向量静态预计算库进行计算,然后用计算后的结果替换原有的表达式。
上述技术方案中进一步改进的方案如下:
1. 上述方案中,在向量静态预计算库的运算过程中,根据实际计算的语义进行相应的边界条件、异常情况处理。
由于上述技术方案的运用,本发明与现有技术相比具有下列优点:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910794732.5/2.html,转载请声明来源钻瓜专利网。