Font Size: a A A

Research And Implementation Of Key Technologies For Auto-vectorization Based On FT-Matrix2

Posted on:2016-11-19Degree:MasterType:Thesis
Country:ChinaCandidate:R J XiaFull Text:PDF
GTID:2348330509960622Subject:Software engineering
Abstract/Summary:PDF Full Text Request
FT-Matrix2 DSP(Digital Signal Processor) is a high-performance DSP featured with VLIW(Very Long Instruction Word) and SIMD(Single Instruction Multiple Data), which is developed independently by Institute of Microelectronics, National University of Defense Technology. It can be applied to data-calculating fields such as multimedia processing and wireless communications. SIMD instructions, which constitute 50% of the FT-Matrix2 instruction set, are very important for the processor to achieve high performance. Thus, vectorizing SIMD instructions by the FT-Matrix2 compiler can affect the performance of the processor directly.This thesis focuses on research and implementation of the auto-vectorization technology in FT-Matrix2 compiler based on GCC(GNU Compiler Collection) development platform. Based on the architecture features and ISA(Instruction Set Architecture) of FT-Matrix2, we have designed and implemented vectorization technique on the compiler back-end, as well as DMA(Direct Memory Access) automatic transmission in the process of auto-vectorization which can support vector access. As a result, our compiler can finally compile C code to vectorized assembly code automatically.The main contributions of this thesis consist of four aspects as follows:(1) We have analyzed the structure of GCC compiler, especially pass_vectorize which is the auto-vectorization modulo of GCC. Firstly, we need to determine the position of pass_vectorize. Then we have studied the structure of pass_vectorize, which consists of two parts: vect_analyze_loop and vect_transform_loop. Next, we studied these two parts carefully.(2) This thesis provides compiler back-end support for auto-vectorization based on the architecture features and ISA of FT-Matrix2, and analyses the mapping from vectorized gimple code to assembly code. Our work focuses on: adding VR(Vector Registers) 's description, vector mode, instruction description and assembly output.(3) This thesis proposes the DMA automatic transmission technology to ensure auto-vectorization's vector access. It analyses the feature of FT-Matrix2's vector access which shows that VR can only accesses AM(Array Memory), therefore, vector access needs to use DMA to transfer data between DDR(Double Data Rate) and AM. Then it analyses the pass_vectorize to understand how to access memory. Finally, this technique is implemented to pass_vectorize, thus our compiler can access AM correctly.(4) Experiments and comparison. We have performed the experiments on our auto-vectorization technology by using FFT(Fast Fourier Transformation) program. Then we have compared auto-vectorized assembly code to non-vectorized assembly code, and intrinsic-vectorization assembly code using-O2 option.
Keywords/Search Tags:SIMD, Auto-Vectorization, Vector Access, DMA
PDF Full Text Request
Related items