Font Size: a A A

Research On Automatic Vectorization Algorithm For Vector Signal Processing

Posted on:2018-12-06Degree:MasterType:Thesis
Country:ChinaCandidate:T HeFull Text:PDF
GTID:2348330569486206Subject:Information and Communication Engineering
Abstract/Summary:PDF Full Text Request
To meet the requirements of real-time and low-power wireless communication,the signal processor uses SIMD(single instruction multiple data)architecture to speed up the real-time processing of the program.In this paper,the automatic vectorization algorithm for basic blocks is improved and implemented under LLVM(Low Level Virtual Machine)architecture,which is based on the Digital Signal Processor(DSP).The full text is as follows:1.This paper studies the traditional automatic vectorization algorithm which based on the basic block in LLVM architecture,and analyzes the reason why the algorithm affects the vectorization effect.2.By analyzing the automatic vectorization algorithm,it is found that the number of internal instructions in the basic block is so small that the vectorization is difficult to be excavated.Therefore,this paper uses the circular normalization method to extend the number of instructions in the basic block and increase the scope of parallel instruction mining.3.The automatic vectorization algorithm uses the method of generating DAG and using the depth factor pruning method to realize large-scale instruction parallelism,so the depth factor directly determines the vectorization optimization effect.At present,the depth factor of the original algorithm can not meet the original design requirements under the condition that the dependence is more complicated,which can cause the misjudgment when the pruning branches are caused,and finally affect the vectorization efficiency of the program.In this paper,we optimize the original algorithm from the following three points:(1)to improve the static depth factor,to obtain more correct a priori information to trim the branches,so as to improve the number of optimization instructions.(2)to build dynamic depth factor,in the pruning branch to obtain a longer instruction chain,improve the optimization of potential characteristics.(3)Using the depth factor to improve the construction order of the subtree,it is reasonable to use the depth factor to optimize the expression of the potential,so that the sub-tree with the depth factor is large,and finally improve the efficiency of the program and reduce the randomness of the subtree.4.The algorithm is applied to the LLVM platform.The experimental results show that the method has a long running time and is not suitable for practical application under the influence of register pressure and complexity.Finally,an improved automatic vectorization algorithm is implemented under the LLVM compiler architecture,and the results are verified by the general test cases.The experimental results show that the improved automatic vectorization algorithm mainly affects the vectorization effect from two aspects:1)Increase the number of parallel instructions.2)Produce less overhead in the same number of vector instructions.
Keywords/Search Tags:Autovectorization, SIMD CompilationOptimization, Depth Factor
PDF Full Text Request
Related items