Wednesday, September 14, 2011

Review: Graphic Processing Units (GPUs)

This is the review of chapter 4 of Henessy & Patterson: Computer Architecture, Fifth Edition that presents the internals and details about GPU. Recently, GPU is being more and more put into uses besides sole graphic applications since they provide much better performance for data parallel computation although there are multiple problems that need to be solved before GPU can be used in the mainstream by typical programmers. Firstly, the code that runs GPU looks way different than what runs in CPU. OpenCL tries to mediate that but it has not had any chance of success yet. Related to that, debugging tools in GPU has not matured too and thus, it is very hard to debug applications in GPU unlike the convenient gdb and other debuggers that exist in CPU. Additionally, since we could not virtualize GPU yet (VMware has attempted at it recently, but I'm unclear of the success), it's hard to put GPU into a commercial use.

However, I believe that as time flows, GPUs will be used more and more for applications such as bioinformatics, query processings, etc and that more GPGPUs will exist in the clouds where we could specify where to run our applications at; CPU or GPU.

No comments:

Post a Comment