Font Size: a A A

The Research On SIMD Compilation Optimization

Posted on:2009-10-21Degree:MasterType:Thesis
Country:ChinaCandidate:D WangFull Text:PDF
GTID:2178360272478697Subject:Information and Communication Engineering
Abstract/Summary:PDF Full Text Request
The past decade has witnessed multimedia processing become one of the most important computing workloads. To respond to the ever-growing performance demand of multimedia workloads, multimedia extensions (MME) have been added to most existing processors. The multimedia extensions of most processors exploit single instruction multiple data (SIMD) instruction, which provides a form of vectorization where a large machine word is viewed as a vector of subwords and the same operation is performed on all subwords in parallel.SIMD instructions offer higher performance, lower energy and better resource utilization. Systematic usage of SIMD instructions can significantly improve program performance. However, compilers still do not have good support for SIMD instructions, and often the code has to be written manually in assembly language or using compiler known functions (CKFs), which will lead to poor readability, portability problem and high cost of software development and maintainance. In order to ultilize SIMD instruction fully, we need compiler to translate the high-level languages to SIMD instructions of media processors automatically. This is called SIMD compilation optimization.Because of the similarity between multimedia extensions and vector processors, one may naturally consider applying traditional vectorization techniques to multimedia applications. However, satisfactory result are yet to be obtained for the vectorization of realistic multimedia programs on MME. The gap between MME vectorization and traditional vectorization is the natural result of both the architectural differences multimedia extensions and traditional vector processors and the differences between multimedia applications and numerical applications. The obstacles of SIMD optimization lie in the following aspects: Complex code form in source code of multimedia applications, the multimedia typical operations and its variations which can not be recognized easily, and the constraints in memory operations.In this thesis, the author carry on a research to develop efficient SIMD optimization techniques, and present a SIMD compilation optimization approach that is integrated into LCC compiler. The approach can efficiently generate SIMD instructions, as well as to cope with the use of pointer in C code, and identify the typical oprations in the multimedia application. Becides, The author designed and implemented an approach of SIMD register allocation, improved the performance of register allocation effectively.
Keywords/Search Tags:SIMD, compilation optimization, vectorization, register
PDF Full Text Request
Related items