GPU Computing GPGPU

GPU Computing GPGPU

GPU Computing GPGPU MSc. Jan Novák1 MSc. Gábor Liktor2 Prof. Dr.-Ing. Carsten Dachsbacher 1 [email protected] 2 [email protected] Evolution of GPUs NV1 GeForce 256 GeForce 4 GeForce FX GeForce 6 GeForce 7 GeForce 8 1 Million 22 Million 63 Million 130 Million 222 Million 302 Million 754 Million Transistors Transistors Transistors Transistors Transistors Transistors Transistors GeForce GTX 200 1.4 Billion Transistors GeForce GTX 400 3 Billion Transistors 1995 (Command & Conquer) 2000 (Diablo II) 2004 (Far Cry) 2006 (Gears of War) 2011 (Crysis 2) Data and the images courtesy of David Luebke: http://s08.idav.ucdavis.edu/luebke-nvidia-gpu-architecture.pdf Evolution of GPUs Stunning evolution of entertainment graphics... ...but GPUs can be used for far more than „just“ graphics. GPU Computing Industry example: Mutation modeling of the Hepatitis C Virus (HCV) HCV Major cause of liver diseases worldwide. Extensive heterogenity. Difficult to study viral functions and drug resistance. BUT: the mutation follows specific rules that can be modeled Implementation on the GPU: JACKET, MATLAB® on GPU More about this project at http://www.accelereyes.com/examples/virus_detection_hepatitis_c GPU Computing Example: Real Time 3D Fluid and Particle Simulation and Rendering 3D fluid solver in CUDA After simulation the particles are ordered using a GPU-accelerated radix sort Finally rendered as alpha blended sprites GPU / CPU speedup: 40x GPU Computing Evolution of parallel computing architectures Images courtesy of Nvidia Fact: 3 out of the 5 fastest supercomputers in the world are based on NVIDIA Tesla GPUs! (2010 Nov. 15.) GPU Computing Evolution of parallel computing architectures Images courtesy of Nvidia Fact: 3 out of the 5 fastest supercomputers in the world are based on NVIDIA Tesla GPUs! (2010 Nov. 15.) Architecture Overview Data Parallelism vs. Task Parallelism Modern GPU: specialized for highly data parallel, compute-intensive applications In fact, 3D rendering is only a small subset of that... Images courtesy of Nvidia More transistors for data porcessing, less for caching and flow control. Architecture Overview Hardware Multithreading Many-core architecture Thousands of lightweight threads In-order execution, cheap flow control Latency is hidden by the raw number of threads. Images courtesy of Nvidia OpenCL Open Computing Language cross-platform standard for computing on heterogeneous platforms maintained by Khronos Group (OpenGL, OpenAL) relatively new language (introduced at SIGGRAPH 2008) Course Overview GPU Computing GPGPU Credits: 4 SWS 2 SWS for Diploma Students for Master’s Students Workload: 4 assignments 4 (reduced) assignments 1 free-style assignment Requirements: each individual assignment: at least 40% all assignments in total: at least 60% ... otherwise failed! Course Overview – Grading GPU Computing GPGPU Points: 20 points for each 20 points for each assignment assignment 100 in total (60 to pass) 80 in total (48 to pass) Evaluation: Each assignment must be presented by the author (in person). Presentations will be held in ATIS computer pool Make sure your code compiles and runs there! You can also use your own laptop. Everyone will be graded. For those that do not need Grading: grades the pass/not pass will be derived from the grade. Course Overview – Assignment 1 GPU Computing GPGPU Tasks: Add two vectors of integers (one in reverse order) (Efficiently) rotate a matrix of numbers ATIS computer pool (evaluation), next assignment will be Next Meeting: introduced afterwards in room 148 In two weeks (27.04.) In two weeks (27.04.) 14:00 15:00 OpenCL SDK From NVIDIA: http://developer.nvidia.com/cuda-toolkit-40 1. Download the developer driver 2. Download the CUDA toolkit 3. Download the GPU Computing SDK (optional, but worth it) From ATI: http://developer.amd.com/GPU/ATISTREAMSDK/Pages/default.aspx 1. Download Accelerated Parallel Processing (APP, formerly ATI Stream) Read the documentation and additional materials at Vendor’s websites Recommended Literature Programming Massively Parallel Processors A Hands on Approach David B. Kirk, Wen-mei W. Hwu Morgan Kaufmann, 2010 CUDA by Example: An Introduction to General-Purpose GPU Programming Jason Sanders, Edward Kandrot Morgan Kaufmann, 2010 The OpenCL Specification Khronos Group http://www.khronos.org/registry/cl/specs/opencl-1.0.29.pdf Freestyle Assignment Last semester‘s highlights Freestyle Assignment Last semester‘s highlights .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    17 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us