Jared Law CUDA: Super-Computing Made Easy. Jared Law NVidia CUDA: Why CUDA? What is CUDA? Where/how is CUDA being used? What does CUDA mean to programmers?

Slides:



Advertisements
Similar presentations
GPGPU Programming Dominik G ö ddeke. 2Overview Choices in GPGPU programming Illustrated CPU vs. GPU step by step example GPU kernels in detail.
Advertisements

Lecture 38: Chapter 7: Multiprocessors Today’s topic –Vector processors –GPUs –An example 1.
GPU Virtualization Support in Cloud System Ching-Chi Lin Institute of Information Science, Academia Sinica Department of Computer Science and Information.
GPU Virtualization on VMware’s Hosted I/O Architecture Micah Dowty Jeremy Sugerman USENIX WIOV
GRAPHICS AND COMPUTING GPUS Jehan-François Pâris
A many-core GPU architecture.. Price, performance, and evolution.
NVIDIA ® Quadro ® Mobile Workstation Solutions Intel ® Core i5 and i7 “Calpella” Based Platforms October, 2010.
GPU Computing with CUDA as a focus Christie Donovan.
Control Flow Virtualization for General-Purpose Computation on Graphics Hardware Ghulam Lashari Ondrej Lhotak University of Waterloo.
1 ITCS 6/8010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Jan 19, 2011 Emergence of GPU systems and clusters for general purpose High Performance Computing.
Evolution of the Programmable Graphics Pipeline Patrick Cozzi University of Pennsylvania CIS Spring 2011.
Introduction What is GPU? It is a processor optimized for 2D/3D graphics, video, visual computing, and display. It is highly parallel, highly multithreaded.
GPGPU overview. Graphics Processing Unit (GPU) GPU is the chip in computer video cards, PS3, Xbox, etc – Designed to realize the 3D graphics pipeline.
Emergence of GPU systems for general purpose high performance computing ITCS 4145/5145 April 4, 2013 © Barry Wilkinson CUDAIntro.ppt.
Klas Skogmar, Lund Institute of Technology Real-time Video Effects Using Programmable Graphics Cards Master of Science Thesis Klas Skogmar
Realtime 3D Computer Graphics Computer Graphics Computer Graphics Software & Hardware Rendering Software & Hardware Rendering 3D APIs 3D APIs Pixel & Vertex.
Jared Barnes Chris Jackson.  Originally created to calculate pixel values  Each core executes the same set of instructions Mario projected onto several.
What Programming Language Should We Use Tomorrow Kim Young Soo.
Motivation “Every three minutes a woman is diagnosed with Breast cancer” (American Cancer Society, “Detailed Guide: Breast Cancer,” 2006) Explore the use.
1 ITCS 4/5010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Dec 31, 2012 Emergence of GPU systems and clusters for general purpose High Performance Computing.
GPU-accelerated Evaluation Platform for High Fidelity Networking Modeling 11 December 2007 Alex Donkers Joost Schutte.
CHAPTER 4 Window Creation and Control © 2008 Cengage Learning EMEA.
Chapter 2 Computer Clusters Lecture 2.3 GPU Clusters for Massive Paralelism.
Shared memory systems. What is a shared memory system Single memory space accessible to the programmer Processor communicate through the network to the.
Computationally Efficient Histopathological Image Analysis: Use of GPUs for Classification of Stromal Development Olcay Sertel 1,2, Antonio Ruiz 3, Umit.
Computer Graphics Graphics Hardware
BY: ALI AJORIAN ISFAHAN UNIVERSITY OF TECHNOLOGY 2012 GPU Architecture 1.
By Arun Bhandari Course: HPC Date: 01/28/12. GPU (Graphics Processing Unit) High performance many core processors Only used to accelerate certain parts.
Introduction to CUDA (1 of 2) Patrick Cozzi University of Pennsylvania CIS Spring 2012.
Introduction to CUDA 1 of 2 Patrick Cozzi University of Pennsylvania CIS Fall 2012.
General Purpose Computing on Graphics Processing Units: Optimization Strategy Henry Au Space and Naval Warfare Center Pacific 09/12/12.
Computer Graphics Tz-Huan Huang National Taiwan University.
The Graphics Rendering Pipeline 3D SCENE Collection of 3D primitives IMAGE Array of pixels Primitives: Basic geometric structures (points, lines, triangles,
GPU Computing April GPU Outpacing CPU in Raw Processing GPU NVIDIA GTX cores 1.04 TFLOPS CPU GPU CUDA Architecture Introduced DP HW Introduced.
Programming Concepts in GPU Computing Dušan Gajić, University of Niš Programming Concepts in GPU Computing Dušan B. Gajić CIITLab, Dept. of Computer Science.
Applying GPU and POSIX Thread Technologies in Massive Remote Sensing Image Data Processing By: Group 17 King Mongkut's Institute of Technology Ladkrabang.
Emergence of GPU systems and clusters for general purpose high performance computing ITCS 4145/5145 April 3, 2012 © Barry Wilkinson.
Computational Biology 2008 Advisor: Dr. Alon Korngreen Eitan Hasid Assaf Ben-Zaken.
Robert Liao Tracy Wang CS252 Spring Overview Traditional GPU Architecture The NVIDIA G80 Processor CUDA (Compute Unified Device Architecture) LAPACK.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
GPU Architecture and Programming
CS662 Computer Graphics Game Technologies Jim X. Chen, Ph.D. Computer Science Department George Mason University.
CUDA-based Volume Rendering in IGT Nobuhiko Hata Benjamin Grauer.
Introduction What is GPU? It is a processor optimized for 2D/3D graphics, video, visual computing, and display. It is highly parallel, highly multithreaded.
By Dirk Hekhuis Advisors Dr. Greg Wolffe Dr. Christian Trefftz.
Introduction to CUDA (1 of n*) Patrick Cozzi University of Pennsylvania CIS Spring 2011 * Where n is 2 or 3.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Computational Platform Jim Miller GE Research.
게임 프로그래밍 특론 Advanced Game Programming 한신대학교 대학원 컴퓨터공학과 류승택 Spring.
From Turing Machine to Global Illumination Chun-Fa Chang National Taiwan Normal University.
Ray Tracing using Programmable Graphics Hardware
Introduction to CUDA 1 of 2 Patrick Cozzi University of Pennsylvania CIS Fall 2014.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408/CS483, University of Illinois, Urbana-Champaign 1 Graphic Processing Processors (GPUs) Parallel.
Would'a, CUDA, Should'a. CUDA: Compute Unified Device Architecture OU Supercomputing Symposium Highly-Threaded HPC.
GPGPU introduction. Why is GPU in the picture Seeking exa-scale computing platform Minimize power per operation. – Power is directly correlated to the.
3/12/2013Computer Engg, IIT(BHU)1 CUDA-3. GPGPU ● General Purpose computation using GPU in applications other than 3D graphics – GPU accelerates critical.
Fast and parallel implementation of Image Processing Algorithm using CUDA Technology On GPU Hardware Neha Patil Badrinath Roysam Department of Electrical.
GPU Computing for GIS James Mower Department of Geography and Planning University at Albany.
Graphic Processing Units Presentation by John Manning.
Emergence of GPU systems for general purpose high performance computing ITCS 4145/5145 © Barry Wilkinson GPUIntro.ppt Oct 30, 2014.
NVIDIA® TESLA™ GPU Based Super Computer By : Adam Powell Student # For COSC 3P93.
Heterogeneous Processing KYLE ADAMSKI. Overview What is heterogeneous processing? Why it is necessary Issues with heterogeneity CPU’s vs. GPU’s Heterogeneous.
General Purpose computing on Graphics Processing Units
Computer Engg, IIT(BHU)
Emergence of GPU systems for general purpose high performance computing ITCS 4145/5145 July 12, 2012 © Barry Wilkinson CUDAIntro.ppt.
GPU Computing Jan Just Keijser Nikhef Jamboree, Utrecht
© 2012 Elsevier, Inc. All rights reserved.
Graphics Processing Unit
CIS 6930: Chip Multiprocessor: GPU Architecture and Programming
Presentation transcript:

Jared Law CUDA: Super-Computing Made Easy

Jared Law NVidia CUDA: Why CUDA? What is CUDA? Where/how is CUDA being used? What does CUDA mean to programmers?

Jared Law NVidia CUDA: Timeline 1999 – First NVidia Graphics Processing Unit (GPU)

Jared Law NVidia CUDA: Timeline 1999 – First NVidia Graphics Processing Unit (GPU) 2003 –

Jared Law NVidia CUDA: Timeline 1999 – First NVidia Graphics Processing Unit (GPU) 2003 – GPGPU Computing

Jared Law NVidia CUDA: GPGPU Programming Using GPUs as general parallel processors Languages –OpenGL –DirectX –Cg Programmers had to... –Have an intimate knowledge of GPUs –Learn new languages –Translate input to vertex data and shader programs

Jared Law NVidia CUDA: Timeline 1999 – First NVidia Graphics Processing Unit (GPU) 2003 – GPGPU Computing 2006 – First CUDA-Enabled GPU (GeForce 8800)

Jared Law NVidia CUDA: What is it? CUDA -Compute Unified Device Architecture -Departs from the GPGPU model New architecture –G80 (2006) –GT200 (2008) –Fermi (2009) Simplified API using C abstractions –C++ –Fortran –Nexus IDE

Jared Law NVidia CUDA: Getting Started CUDA-Enabled Card Required. - Download the “free” CUDA toolkit and driver. - Start coding.

Jared Law NVidia CUDA: CUDA C Example

Jared Law NVidia CUDA: Timeline 1999 – First NVidia Graphics Processing Unit (GPU) 2003 – GPGPU Computing 2006 – First CUDA-Enabled GPU (GeForce 8800) 2011 – CUDA is EVERYWHERE!

Jared Law NVidia CUDA: Silver Screen Avatar Iron Man 2, Inception, The Last Airbender, Black Swan

Jared Law NVidia CUDA: Consumer Software Video Conversion and Editing (Adobe, Cyberlink) Operating Systems (Windows 7) Design Tools (Agilent) Education (MATLAB) Plenty more at

Jared Law NVidia CUDA: Research Physics Simulation Medical Imaging Life Sciences Computational Fluid Dynamics –

Jared Law NVidia CUDA: Conclusion Visit for more information. Any questions? REFERENCES Boyd, C Data-parallel computing. ACM Queue 6, 2 (March/April), Fatahalian, K. and Houston, M Gpus: A closer look. ACM Queue 6, 2 (March/April), Mark, W Future graphics architectures. ACM Queue 6, 2 (March/April), Nickolls, J., Buck, I., Garland, M., and Skadron, K Scalable parallel programming. ACM Queue 6, 2 (March/April), NVidia NVIDIA's Next Generation CUDA Compute Architecture: Fermi. NVidia. NVidia NVIDIA CUDA C Programming Guide. NVidia. Senocak, I., Thibault, J., and Caylor, M Rapid-response urban cfd simulations using a gpu computing paradigm on desktop supercomputers. Eighth Symposium on the Urban Environment 19.2 (January). Wilkinson, B. and Allen, M Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers, 2 ed. Pearson Prentice Hall.