首页 | 本学科首页   官方微博 | 高级检索  
     

基于全局数据重组的循环倾斜优化
引用本文:陈华军,王 琦,洪 超,方 萌. 基于全局数据重组的循环倾斜优化[J]. 计算机与现代化, 2017, 0(6): 45. DOI: 10.3969/j.issn.1006-2475.2017.06.009
作者姓名:陈华军  王 琦  洪 超  方 萌
摘    要:循环倾斜是程序优化中一种循环变换的手段,它改变空间迭代形式,将循环存在的跨迭代的并行用传统的并行标识出来,使得循环可以并行执行。但是循环倾斜后,并行执行的数据在内存中是离散的,而且每次迭代执行的次数是不一致的。为了更有效地利用SIMD,本文提出一种基于全局数据重组的循环倾斜优化方法。首先分析循环倾斜优化,针对数据离散的问题实现全局数据重组,改善数据局部性,循环易于向量化操作;针对迭代执行次数不一致问题,实现非满载向量操作,使尾循环得以向量执行。最后选择wavefront程序进行测试,优化后,程序计算可以获得平均10.73倍的加速效果。

关 键 词:单指令多数据流  循环倾斜  数据重组  非满载向量化  
收稿时间:2017-06-23

Loop Skewing Optimization on Global Data Regrouping
CHEN Hua-jun,WANG Qi,HONG Chao,FANG Meng. Loop Skewing Optimization on Global Data Regrouping[J]. Computer and Modernization, 2017, 0(6): 45. DOI: 10.3969/j.issn.1006-2475.2017.06.009
Authors:CHEN Hua-jun  WANG Qi  HONG Chao  FANG Meng
Abstract:Loop skewing is a method of loop transformation in program optimization. It changes the form of iteration space and marks the across iterations in loops with the traditional parallel. The loop can be calculated in parallel. But after loop skewing, data which is programed in parallel is discrete. Times of every iteration execution are different. To make full use of SIMD extension, this paper presents loop skewing optimization on global data regrouping. We analyze loop skewing optimization and regroup the data in array for the problem of discrete data. This part improves the data locality and it is simple to do the vector operation. Then we realize the non-full vector operation for the problem of different iteration times. This part makes the tail loop can be executed in vectorization. At last, we choose the wavefront program for testing. After optimization, the program execution speed can be increased by 10.73 times in average.
Keywords:SIMD  loop skew  data regroup  non-full vector operation  
点击此处可从《计算机与现代化》浏览原始摘要信息
点击此处可从《计算机与现代化》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号