面向部分向量化的循环分布及聚合优化
Method of Loop Distribution and Aggregation for Partial Vectorization作者机构:信息工程大学郑州450001 数学工程与先进计算国家重点实验室无锡214125
出 版 物:《计算机科学》 (Computer Science)
年 卷 期:2017年第44卷第2期
页 面:70-74,81页
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
基 金:郑州市科学技术局 前沿技术研究开发计划(141PQYJS558) 数学工程与先进计算国家重点实验室开放课题(2013A11)资助
摘 要:大量循环中都存在着少数无法向量化的语句以及许多可向量化语句,循环分布通常可以将这些语句分离到不同的循环中,进而实现循环的部分向量化。目前主流的优化编译器仅支持简单激进的循环分布方法,因而导致向量化后的循环开销过大,且不利于寄存器和cache的重用。针对上述问题,提出了面向部分向量化的循环分布及聚合方法。首先,分析了一般循环分布的两个关键问题:语句集的划分和循环执行顺序的确定;其次,提出了面向最大聚合的凝聚图结点排序方法来指导循环合并,在不影响并行性的前提下减小了循环开销;最后,通过实验对提出的方法进行了验证。实验结果表明,对于测试用例,提出的方法能够生成正确的向量化代码,并且能够显著提高向量化程序的执行效率。