Computer and Modernization

Previous Articles     Next Articles

Loop Skewing Optimization on Global Data Regrouping

  

  1. (1. China South Power Grid International Co., Ltd., Guangzhou 510080, China;
    2. 5th Lab, Electric Power Information Security Classified Protection Test and Evaluation Center, Guangzhou 510080, China;
    3. State Key Laboratory of Mathematical Engineering and Advanced Computing, Zhengzhou 450002, China)
  • Received:2016-10-01 Online:2017-06-23 Published:2017-06-23

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.

Key words: SIMD, loop skew, data regroup, non-full vector operation

CLC Number: