GCC编译器中循环数组预取优化的实现及效果  被引量:5

Implementation and effects of loop-array-prefetching optimization in GCC

在线阅读下载全文

作  者:董钰山 李春江[1] 徐颖[1] 

机构地区:[1]国防科学技术大学计算机学院计算机研究所,长沙410073

出  处:《计算机工程与应用》2016年第6期19-25,共7页Computer Engineering and Applications

基  金:国家自然科学基金(No.61170046);国家高技术研究发展计划(863)(No.2012AA010903)

摘  要:数据预取技术是为缓解微处理器与DRAM之间速度差异而出现的隐藏访存延迟的方法。GCC作为广泛使用的开源编译器,在tree-ssa上对循环级数组实现了预取优化。在深入分析GCC4.9循环级数组预取的基本实现机制,以及剖析基于预取收益和分析时间的三种不予预取的代价模型的基础上,得出影响循环数组预取效果的几个因素,并针对典型测试用例测试了GCC编译器循环数组预取的效果。此项工作对于改进和提高GCC现有循环级数组的预取优化有指导意义。Data prefetching is an approach to reducing cache miss latencies, which can appropriately fill the speed gap between the microprocessor and DRAM. As the widely used open source compiler collection, GCC achieves prefetching arrays used in loops on the tree-ssa. After analyzing the implementation and effects of the loop-array-prefetching in GCC4.9, and dissecting three heuristics of a cost model, which determine whether or not prefetching is profitable for a given loop based on the profitability and analysis time, after testing some benchmarks with GCC, this paper concludes several factors affecting the effect of loop-arrays-prefetching. These works provide a valuable contribution for the research and development of the loop-array-prefetching optimization in GCC.

关 键 词:GNU编译器集合(GCC) 数组预取 循环 代价模型 

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

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

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