Font Size: a A A

Research On SIMD Vectorization And Optimization Of Non-Multimedia Applications

Posted on:2009-03-26Degree:DoctorType:Dissertation
Country:ChinaCandidate:Y X LiFull Text:PDF
GTID:1118360242995803Subject:Computer architecture
Abstract/Summary:PDF Full Text Request
Nowdadays, multimedia applications have become the most important processing workloads to general purposed microprocessors, and they result in rising of multimedia extension in microprocessors architecture. Correspodingly the vecorization technique has become a studying hotspot in last years. Whereas with support for float/double point operation in multimedia extension and progress in paralleling the non-multimedia applications, non-multimedia programs vectorization with multimedia extension has become an important way to improve the programs performance. But non-multimedia applications have much more different character than multimedia applications, and there are many non-adjacent reference and non-alignment data reference modes, which seriously impede the program vectorized and decrease program vectorization performance.In this dissertation, we conducted an empirical study on the vectorization of non-multimedia programs. We analyze vector characteristics about SPEC CPU2000 float point programs which are classic non-multimedia applications for the first time, and test the vectorization performance by different compilers. Consequentially we bring forward two ameliorated methods based on limitation of current vectorzation technique. One is SIMD vectorization method based on data regrouping locally, and the other is outer-loop vectorization and partial statement vectorization in inner-loop. These aleliorated methods can improve vectorization performance on non-multimedia applications.We design and implement the vectorization frame for two ameliorated methods on Pathscale compiler, and test under the Alpha platform. At the same time, we test and compare with Intel compiler under AMD Operton platform by manually vectorized code. In the frame, we offer SIMD vectorization pre-optimization model which includes alignment analysis, alignment optimization, choosing vectorizable loop, to help effectively improve performance for vectorization. This dissertation studies the key techniques and gives the following contributions.First, ameliorating the classic vectorization algorithm to vectorize outer loop which cannot be vectorized because of dependant cycle in innermost loop, and to vectorize basic block in innermost loop as the same as Superword Level Parallelism algorithm. Compared to other relative research, our research breaks the limitation of only innermost loop vectorzation of classic vectorization algorithm, enlarges the vectorizable loop range. Also, we bring forward cost model to calculate different vectorziaton schedule benefit, and then get the best SIMD vectorization scheme. Our research has presents methods to implement Superword Level Parallelism algorithm for partial statement in loop, so it avoids choice of the complex SLP pack scheme.Second, vectorizing loop nest containing multidimension point data referrence, structure array data reference and so on. Because all of vectorization techniques cannot handle these loop in which data reference are all non-adjacent, and loop transformation cannot change also data layout, we bring forward data regrouping locally in some loop to change non-adjacent data reference to adjacent data reference. Compared to other similar research, this dissertation brings forward vectorization solution and cost model to calculate SIMD vectorization benefit for these loops for the first time, and presents the implementation frame.Third, some pre-optimization techniques for SIMD vectorization aim to avoid blindfold loop transform and scalar optimization for vectorization. These techniques including choosing the vectorizabel loop, alignment analysis, alignment optimization. Compared to similar research, this dissertation brings forward for the first time cost model to pre-calculate vectorization benefit before the vectorization analysis and transformation, moreover we bring forward for the first time and implement complete alignment analysis and optimization frame by combining different alignment schedule to conform the most alignment information in loop.
Keywords/Search Tags:SIMD, Vectorization, Non-Multimedia Applications, Data Regrouping Locally, Outer-loop Vectorization, Partially Vectorizaiton, Alignment Analysis, Alignment Optimization
PDF Full Text Request
Related items