Font Size: a A A

Research And Implementation Of SIMD Compilation Optimization For BWDSP

Posted on:2017-03-27Degree:MasterType:Thesis
Country:ChinaCandidate:S B HuangFull Text:PDF
GTID:2308330485951674Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
BWDSP is a brand new VLIW DSP supporting clustering and SIMD. It has a powerful parallel processing capability and meets the application requirements of high-speed real-time signal processing, widely used in the area of high-performance computing. Based on Open64, a famous open source compiler infrastructure, this thesis has designed and implemented the SIMD optimization technique in OCC compiler oriented to the loop sections within C program, and some the back-end compiler optimization related to the SIMD.OCC compiler starts the SIMD optimization on the intermediate language WHIRL. The loop nested optimization is performed initially for translating the specific format program into the special efficiency operations supported by BWDSP. During the SIMD optimization, firstly, a pre-candidate loop analysis is executed to get rid of those loops which are not easy to perform the SIMD optimization. Then, the benefit computation, dependence analysis and single/double word mode selection are performed respectively to choose the types of the SIMD optimization instructions, according to the characteristics of the loops as well as register pressure. Now, OCC compiler can simultaneously support multiple clusters of single and/or double word, fixed point and/or floating register pairs of SIMD optimization. Lastly, the SIMD assembly code is generated through analyzing choice of the SIMD types supported. In this thesis, some common DSP C programs are used for testing, comparing the speedup results before and after the SIMD optimization. The experimental results show that the performance under the SIMD optimization can be greatly improved.The code generation module of OCC compiler back-end is so closely related to the BWDSP architecture that it is necessary to redirect the compiler back-end to the SIMD optimization. Depending on the hardware resources and the characteristics of instruction set of BWDSP, some extensions have been made into various stages of back-end code generation module to fulfill the SIMD optimization, including machine description, SIMD instruction commenting and clustering, as well as clustered SIMD register allocation and code generation. Finally, comparing the OCC compiler of BWDSP with the C compiler of ADI TS201, the experimental results show again that the SIMD optimization performance obtained by OCC compiler is roughly 2.5 times faster than that of TS201 C compiler.
Keywords/Search Tags:BWDSP, ILP, SIMD compilation optimization, SIMD, VLIW
PDF Full Text Request
Related items