Font Size: a A A

Research On Application Of Loop Transformation For Auto-vectorization

Posted on:2012-01-10Degree:MasterType:Thesis
Country:ChinaCandidate:L HuangFull Text:PDF
GTID:2218330371462639Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
In recent years, as the rapid development of multimedia applications, SIMD extension technologies have been widely used in many high performance microprocessors. Due to lacks of unitive rules to describe the instructions for SIMD extension technologies, the programmer not only need to profoundly understand the structure of program, but also need to know the characteristics of the structure and instruction sets of corresponding SIMD extension, which bring great challenges to writing SIMD program by hand. So lots of current compilers adopt auto-vectorization to solve this problem.In order to realize auto-vectorization, compilers need to completely identify the program's characteristics and transform the loops or basic blocks to SIMD instructions with equal function. Considering the limit of current auto-vectorization compilers, this thesis makes researches to improve the efficiency of auto-vectorization with methods of loop transformation. Firstly, based on analyzing the data dependence relationship, an algorithm for identifying statement's vectorization and a loop distribution algorithm based on identifying statement's vectorization ability is discussed and implemented. Secondly, considering the SIMD assembly and scalar assembly can work together in SIMD computer system, some loop transformation methods for mix-parallel are researched. Then this thesis designs and implements a common loop fusion algorithm. If the algorithm can't achieve the expect effect, a corresponding loop unroll policy is brought out. Thirdly, in order to help auto-transformation when dealing with the complexity applications, this thesis designs a tune frame for interactive loop transformation after researching the relative interactive transformation methods based on information recognizing. In the frame, an effective interactive transformation environment is provided to users by displaying the dynamic and static compiler information through analyzing the applications.These loop transformation methods have been realized in current auto-vectorization project, and the test results show that with our auto-transformation methods, the performance have rised up 10% averagely for some programs which are fit for vectorization in the SPEC CPU2000 float test sets. It's proved that our transformation methods can improve the vector recognization and execution efficiency. At the same time, it shows that with the interactive transformation method, we can solve some complex instances which can't be solved by the auto-vectorization compiler, and farther improve the program vectorization ability of the compiler.
Keywords/Search Tags:Auto-vectorization, Loop Distribution, Loop Fusion, Loop Unroll, Interactive Transformation
PDF Full Text Request
Related items