Font Size: a A A

The Design And Implementation Of Virtual Execution Environment Framework For Gpu/cpu Heterogeneous Multi-core

Posted on:2011-03-17Degree:MasterType:Thesis
Country:ChinaCandidate:H B XiaoFull Text:PDF
GTID:2198330338484237Subject:Software engineering
Abstract/Summary:PDF Full Text Request
In recent years, the rapid development of GPU causes CPU/GPU architecture tobecome increasingly popular because of GPU's powerful parallel processing capabil-ity. However, we have no other methods of using that capability of GPU except forCUDA and Stream SDK provided by NVIDIA and AMD respectively, which are allbased on explicit programming.There are several constraints for explicit programming: the cost of rewriting thesource code as well as binary incompatibility. On one hand, as there are so manycomputation-intensive programs that are written by advanced programming languagesuch as C, C++, if we want to execute these applications using GPU's powerful parallelcapability to shorten the executing time, rewriting the source code is inevitable andthe worse situation is that sometimes we cannot get the source code. On the otherhand, even those applications are rewritten under explicit programming, these evolvedapplications also bring binary incompatibility: they can't work on the other platformswith another kink of or even another version of GPU.To overcome the cost of rewriting source code and binary incompatibility, thisarticle presents a virtual execution environment framework built on a resourceable andretargetable binary translation infrastructure whose name is Crossbit. This virtual ex-ecution environment can effectively resolve the problem of rewriting the source codeand automatically use GPU to get 8x speedup on average. The principle of our virtu-al execution environment is using static and dynamic binary analyzing technology todetect potential parallel parts and put those parts which don't have data dependence toexecute on GPU. After those parts are executed completely, the results will be copied from GPU's memory to main memory. As compute-intensive applications take mostof time to calculate, so the acceleration of GPU has greatly improved the overall per-formance of those compute-intensive applications.The innovations and significance of this article include: 1) Presented a frameworkof virtual execution environment to overcome the problem of rewriting the source codewhen programmers use explicit programming to use GPU; 2) Combining binary ana-lyzing technology and polyhedral model to detect parallel parts of compute-intensiveapplications precisely; 3)Improving the overall performance of compute-intensive ap-plications through exploiting GPU's powerful parallel processing capability.
Keywords/Search Tags:virtual execution environment, polyhedral model, binary translation
PDF Full Text Request
Related items