GPU Computing

5,391 views

Published on

A presentation on GPU Computing (General Purpose Computation on Graphics Processing Units)

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,391
On SlideShare
0
From Embeds
0
Number of Embeds
208
Actions
Shares
0
Downloads
389
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

GPU Computing

  1. 1. Graphics processing units - powerful, programmable, and highly parallel - are increasingly targeting general-purpose computing applications. GPU Computing<br />Presented By:<br />Khan Muhammad Nafee Mostafa<br />0507007, Dept of CSE, KUET<br />
  2. 2. GPU Computing<br />J. D. Owens<br />M. Houston<br />D. Luebke<br />S. Green<br />J. E. Stone<br />J. C. Phillips<br />Proceedings of the IEEE | Vol 96, No. 5 | May 2008<br />We would be concentrating on,<br />What is GPU Computing<br />Why GPU Computing<br />GPU Architecture and Evolution<br />GPU Computing Model<br />Software Environment <br />Future<br />
  3. 3. GPU for General Purpose Computing<br />What is GPU Computing ?<br />
  4. 4. What is GPU Computing ?<br />GPU computing is the use of a GPU to do general purpose scientific and engineering computing<br />CPU and GPU together in a heterogeneous computing model.<br />Sequential part of the application runs on the CPU and the computationally-intensive part runs on the GPU. <br />From the user’s perspective, the application just runs faster because it is using the high-performance of the GPU to boost performance. <br />
  5. 5. Over the past few years, the GPU has evolved from a fixed-function special-purpose processor into a full-fledged parallel programmable processor with additional fixed-function special-purpose functionality<br />Why GPU Computing…<br />
  6. 6. GPU for Non-Graphic Apps<br />The GPU is designed for a particular class of applications with the following characteristics,<br />Computational requirements are large<br />Parallelism is substantial<br />Throughput is more important than latency<br />a growing community has identified other applications with similar characteristics and successfully mapped these applications onto the GPU<br />
  7. 7. GPU extends its hand towards CPU for performance<br />Parallelism is the future of computing<br />Many applications have to process huge set of data following same functions<br />Several stream processors can execute same set of instructions on different data sets and give a higher throughput <br />If GPU take some share of computation load from CPU, many applications can be benefitted in speed-up<br />
  8. 8. GPU is now turned into a programmable engine<br />GPU Architecture and Evolution<br />
  9. 9. GPU Pipeline<br />Available operations are configurable but not programmable<br />
  10. 10. Evolution…<br />
  11. 11. All GPU programs must be structured in this way: many parallel elements, each processed in parallel by a single program<br />GPU Computing Model<br />
  12. 12. Computing on the GPU<br />Programming a GPU for Graphics<br />programmer specifies geometry covering a screen region; rasterizer generates a fragment at each pixel location<br />Each fragment is shaded by the fragment program (FP).<br />FP computes the fragment by a combination of math operations and global memory reads<br />resulting image can be used as texture on future passes.<br />
  13. 13. Computing on the GPU<br />Programming a GPU for Graphics<br />Programming a GPU for General-Purpose Programs (Old)<br />programmer specifies geometric primitive covering computation domain of interest; rasterizer generates fragment<br />Each fragment is shaded by an SPMD general purpose FP<br />FP computes the fragment by a combination of math operations and ‘gather’ accesses from global memory. <br />resulting buffer can be used as an input on future passes. <br />programmer specifies geometry covering a screen region; rasterizer generates a fragment at each pixel location<br />Each fragment is shaded by the fragment program (FP).<br />FP computes the fragment by a combination of math operations and global memory reads<br />resulting image can be used as texture on future passes.<br />
  14. 14. Computing on the GPU<br />Programming a GPU for General-Purpose Programs (New)<br />programmer directly defines the computation domain of interest as a structured grid of threads<br />SPMD general-purpose program computes each thread<br />each thread is computed by a combination of math operations and both ‘gather’ (read) accesses from and ‘scatter’ (write) accesses to global memory; (same buffer can be used for both allowing more flexible algorithms)<br />resulting buffer in global memory can then be used as an input in future computation<br />
  15. 15. Software Environments<br />
  16. 16. Software Environments<br />BrookGPU<br />Microsoft’s Accelerator<br />Vendor Specific GPGPU systems<br />AMD ATI’s CTM (Close to the Metal)<br />NVIDIA’s CUDA (Compute Unified Device Architecture)<br />
  17. 17. Scan performance on CPU, graphics-based GPU (using OpenGL), and direct-compute GPU (using CUDA). Results obtained on a GeForce 8800 GTX GPU and Intel Core2-Duo Extreme 2.93 GHz CPU. <br />(Figure adapted from Harris et al.)<br />Scan performance on CPU, OpenGL and CUDA<br />
  18. 18. Future…<br />
  19. 19. Concluding for bright Future…<br />support for double-precision floating-point<br />higher bandwidth path between CPU and GPU (like ATI’s HyperTransport)<br />more tightly coupled CPU and GPU (AMD’s fusion or nVidianForce)<br />NVIDIA Quadro for Multiple GPU Collaboration<br />Finally, let us wait for new era when GPU Computing will rule<br />
  20. 20. Thank You<br />I would also like to thank,<br />

×