循环展开技术在向量程序中的应用  被引量:2

Loop Unrolling in Vectorized Programs

在线阅读下载全文

作  者:高伟[1,2] 赵荣彩[1,2] 于海宁[1,2] 张庆花 

机构地区:[1]信息工程大学,郑州450001 [2]数学工程与先进计算国家重点实验室,无锡214125

出  处:《计算机科学》2016年第1期226-231,245,共7页Computer Science

基  金:"核高基"国家科技重大专项(2009ZX01036-001-001-2);数学工程与先进计算国家重点实验室开放课题(2013A11)资助

摘  要:循环展开是一项常用的循环优化技术。当前针对串行程序的循环展开技术已经比较成熟,但是在实际应用中没有针对向量程序进行有效的循环展开。为了解决这个问题,提出了一种面向向量程序的循环展开技术。首先,针对向量寄存器压力和代码膨胀等限制因素,提出了一种自动计算展开因子的CUFVL算法;其次,根据向量循环展开的特点,制定了完全展开策略;最后结合CUFVL算法和完全展开策略,设计了向量循环展开的总体流程。实验结果表明,该方案能够计算出合适的展开因子,进而对向量程序进行适当的循环展开或完全展开,从而有效提升应用程序的性能。Loop unrolling is a loop transformation that has been developed well and widely used in serial programs.However,it usually loses its efficiency in practical vectorized applications.To solve this problem,this paper proposed a loop unrolling technique for vectorized loops.First,we presented the CUFVL algorithm to automatically determine the unroll factors via taking the register pressure and code explosion problems into account.Second,we designed a complete unrolling strategy according to the specific characters of vectorized loops.Finally,we showed the flow chart of the proposed technique based on the CUFVL algorithm and the complete unrolling strategy.Experimental results show that the proposed technique can find out the most suitable unroll factor for the programs used in the experiments,thereby enhancing their performance efficiently.

关 键 词:向量程序 循环展开 展开因子 完全展开 

分 类 号:TP312[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象