Font Size: a A A

The Code Conversion Technology Of A Domain Programming Language SIMC To SIMD

Posted on:2018-07-24Degree:MasterType:Thesis
Country:ChinaCandidate:D X ZhangFull Text:PDF
GTID:2348330515496685Subject:Engineering
Abstract/Summary:PDF Full Text Request
With the rapid development of computer technology in modern society,the high performance computing power of the computer also needs higher demand,especially,in the specific multimedia image and wireless communication research and development scene,it requires a lot of intensive data operation,the traditional data serial processing method is difficult to achieve the desired effect,in the case of CPU physical performance reach the bottlenecks,the mainstream processing method of CPU is to do SIMD(single instruction multiple data)operation,it uses SIMD register to do the data parallel processing to achieve accelerated gains.At the same time,with the continuous development of the compiler technology,the domain experts have proposed and implemented the solutions to generate high-performance code automatically through the relevant compiler.Therefore,The compete code automation conversion technology of the SIMD has a practical meaning in the production environment,which can shorten the development cycle,reduce labor costs,while ensuring the accuracy of SIMD procedures and related procedures to optimize.Considering the specific domain algorithm features,this paper expands a code conversion tool which could convers a high-level language SIMC to SIMD program automatically based on the clang compiler.SIMC is a C-like program language for image and wireless communication field.The SIMC has some language extensions,such as add keyword matrix?vector?complex and so on,these extensions can describe the application characteristics completely.At the same time,SIMD also expands the description of the operator expression(such as matrix convolution?matrix-sum operation expression).As a compiler input language,SIMC can improve the efficiency of the development,reduce the cost of program optimization and complexity of algorithm.After the compilation,the extended clang compiler can generate a specific hardware platform for SIMD program automatically.SIMC-to-SIMD compilation conversion tool is mainly focused on the expansion of the clang compiler,through the compiler's lexical?grammar? semantic analysis processing,the clang extracts SIMC specific keyword and operator expression to take parallelism analysis,and takes special expression to the node transformation in the AST,which is the core of the code conversion tool.The concrete design can be divided into the expansion of the specific expression and design of the conversion function,basic information collection of the variable,parallelism analysis of the cyclic iterative interval,the design of the SIMD intrinsic function interface to transfer,this paper separately introduces the SIMC language and its algorithm features,SIMD program operation,clang compiler and its expansion principle,parallelism analysis of the code and its realization module.In the end,the papar verifies the specific algorithm's performance of the SIMD code which is generated by the clang automatically.The final test show that the code which is generated by the compiler tool can increase 3.85-6.59 x faster than the serial language in the X86 platform.
Keywords/Search Tags:clang, SIMD, Code conversion, domain programming language, compilation tool
PDF Full Text Request
Related items