Font Size: a A A

Design And Implementation Of A Parallel Conversion Tool Based On Clang For C Code

Posted on:2016-01-25Degree:MasterType:Thesis
Country:ChinaCandidate:D Y ZhangFull Text:PDF
GTID:2298330467998800Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
In today’s rapid development of Internet, people enter a data explosion era, forsome of the applications of core Internet background, every day hundreds of millionof users, completes, the access vast amounts of click, however in the big dataprocessing under the concurrent inevitably faced with all kinds of bottlenecks.Atpresent, with has high computing power of the high performance parallel computerhas become an important benchmark cash on the direction of computer development,computing devices, computing power has become the measure of a country’seconomic ability and the main measures of the power of science and technology, atthe same time, on the other hand it also constantly promote the development ofnational economy, the progress of science and technology and comprehensive nationalstrength of ascension.Now, many researchers around the world, are doing all kinds of operations on theGPU development test, and to study and research in the parallel computing ability.Inthis work, however, most of the work is based on some of the original data.When theresearchers and developers will develop work performed on GPU, they need to takeinto account the GPU parallel programming, and adhere to the underlying architectureof the GPU.Follow the idea, this article provides a kind of traditional legacy C codecan be converted to OpenMP code can be executed in parallel tool.On the basis of thisarticle provides the main work content is as follows:1. The analysis of the code, the code in a nested loop extraction is an importantpart in tool, in this section, we in combination with tools analysis ability on the basisof the original code, the code in a nested loop is extracted, thus further analysis andprocessing work.2.Of data in a nested loop code dependencies, we also do the correspondingfurther processing.Code generated by the abstract syntax tree according to the analysisand control flow graph, on the basis of our data dependencies for the correspondinganalysis of them, thus to build a directed data dependency graph.Through the data dependence graph, guidance for the split and reconstruction of nested loop, we canaccurately and maximum program for parallel processing.3.The program may be there is a very complex context, in the process ofcirculation reconstruction, we use Anderson pointer analysis methods to analysisbetween the code process.In computer science, pointer analysis (or directivityanalysis), is a kind of static analysis technology of the code.In program code for apointer or a large number of references we must carry on the tag and track, in this waywe can see clearly the changing process of a variable, storage state and internalstorage.4. The Clang/LLVM friendly compiler as a lightweight reminder won a lot ofresearchers attention in recent years.As an open source compiler, it largely improvethe efficiency of code execution.In this paper, on the basis of the development, butalso to achieve parallel compilation of code execution level is a relatively objectivevalue.In this paper on the serial program parallelization at the same time, in view of thepresent domestic and overall situation of parallel programming and demand a lot oflegacy applications to be processed, is designed and implemented a Clang based on Cprogramming language can be automatic parallelization transformation tool.
Keywords/Search Tags:Clang, AutoParallel, Source-to-Source Transform
PDF Full Text Request
Related items