Introduction To GPU Computing - Boston University

2y ago
43 Views
3 Downloads
5.14 MB
21 Pages
Last View : 9d ago
Last Download : 3m ago
Upload by : Joanna Keil
Transcription

NagasakiUniversityIntroduction to GPUcomputingFelipe A. CruzNagasaki Advanced Computing CenterNagasaki University, Japan

NagasakiUniversityThe GPU evolution The Graphic Processing Unit (GPU) is a processor that was specialized forprocessing graphics. The GPU has recently evolved towards a more flexible architecture. Opportunity: We can implement *any algorithm*, not only graphics. Challenge: obtain efficiency and high performance.Tesla cardFelipe A. CruzTesla S1070: 4 cards

NagasakiUniversityContext:performance!Felipe A. CruzFelipe A. Cruz

NagasakiUniversityPaths to performanceFelipe A. Cruz

NagasakiUniversityPaths to performanceFasterprocessorsImportant method for improving performance.Processors speed improved from 1 MHz (1980s) to over 4GHz (2000s)Over 1,000 fold faster clock rates in 30 years!Felipe A. Cruz

NagasakiUniversityPaths to performanceFasterprocessorsMemory wall: large gap between memory and processor speed.Power wall: higher clock speeds require exponential power increase.Felipe A. Cruz

NagasakiUniversityPaths to s with many components that may execute in parallel.Benefit from aggregated performance.Felipe A. Cruz

NagasakiUniversityPaths to performance There are two ways to obtain a fastcomputing system: Fast processor (CPU) Use concurrency (GPU) For both, CPU and GPU, serialperformance is not increasing. Multicore and GPU performance isbased on concurrency. GPU many times *faster* than CPU!Felipe A. Cruz

NagasakiUniversityAfter thebuzz.Felipe A. CruzFelipe A. Cruz

NagasakiUniversityWhy accelerators? Accelerators have been around since the 70s! but they were very expensive. GPUs are commodity hardware, powerful, and cheap. New GPU generation are released every two years. Uni-processor speed is not doubling every two years anymore! GPUs are competitive alternatives in the search for performance.Felipe A. Cruz

NagasakiUniversityCan *I* get 100x? *Some* algorithms can get such speedups. It mostly depends on the non-parallel part (the one that does not accelerate witha GPU!). Complex applications make use of many algorithms! Redesign your application to be parallel-friendly is most important! The future is parallel. Let’s get ready!Felipe A. Cruz

NagasakiUniversityGPGPU general purpose? Technically: yes, you can program anything! Practically: we want performance. GPUs are specialized hardware: not flexible (as a CPU) CPU GPU combination of flexible and performance.Felipe A. Cruz

NagasakiUniversityUnderstandingthe GPUFelipe A. CruzFelipe A. Cruz

NagasakiUniversityWhat is a GPU? Graphics Processing Unit (GPU) Most computers have one Simple and regular design! Billions of transistors Performance: Felipe A. Cruz 1 Teraflop (Single precision) 500 Gflops (Double precision)Also: A heater for winter!

NagasakiUniversityHow it works:Many scootersSport carFelipe A. Cruz

NagasakiUniversityHow it works:Many scootersSport carDeliver many packageswithin a reasonable timescaleFelipe A. CruzDeliver a package assoon as possible

NagasakiUniversityHow it works:High throughputandreasonable latencyLow latencyandreasonable throughputCompute many jobswithin a reasonable timescaleCompute a job asfast as possibleFelipe A. Cruz

NagasakiUniversityWhat are “GPU cores”? Not the same than a CPU core! Basic component on a GPU is a ‘stream processor’, or SIMD processor(Single Instruction Multiple Data)SIMD: Same instruction for all cores! but each can operate over different data!Felipe A. Cruz

NagasakiUniversityGPU architectureSketch of the GPU architecture:The GPU spec: 1 Teraflop single precision .5 Teraflop double precision Shared memory: 16 KB to 48 KB L1 cache: 16 KB to 48 KB *1 Teraflop 10 12 floating point operationsObtain performance by concurrency!MIMD: Independent stream-processors.Felipe A. Cruz

NagasakiUniversityGPU issues Massively parallel algorithm needed! Balance computation and data movement! high concurrency and simple data patternCore is much faster than data-pathKeep the GPU busy!Latency of data movement! Felipe A. CruzMulti-threading

NagasakiUniversityObtaining performance Design algorithms for parallelism: fine grained and coarse grained!Map algorithm to the architecture: Felipe A. CruzSIMD at stream processor.MIMD at GPU chip.Consider memory hierarchy.Others: heterogeneous, distributed systems.

Introduction to GPU computing Felipe A. Cruz Nagasaki Advanced Computing Center Nagasaki University, Japan. Felipe A. Cruz Nagasaki University The GPU evolution The Graphic Processing Unit (GPU) is a processor that was specialized for processing graphics. The GPU has recently evolved towards a more flexible architecture.

Related Documents:

the gpu computing era gpu computing is at a tipping point, becoming more widely used in demanding consumer applications and high-performance computing.this article describes the rapid evolution of gpu architectures—from graphics processors to massively parallel many-core multiprocessors, recent developments in gpu computing architectures, and how the enthusiastic

GPU Tutorial 1: Introduction to GPU Computing Summary This tutorial introduces the concept of GPU computation. CUDA is employed as a framework for this, but the principles map to any vendor’s hardware. We provide an overview of GPU computation, its origins and development, before presenting both the CUDA hardware and software APIs. New Concepts

OpenCV GPU header file Upload image from CPU to GPU memory Allocate a temp output image on the GPU Process images on the GPU Process images on the GPU Download image from GPU to CPU mem OpenCV CUDA example #include opencv2/opencv.hpp #include <

GPU Computing in Matlab u Included in the Parallel Computing Toolbox. u Extremely easy to use. To create a variable that can be processed using the GPU, use the gpuArray function. u This function transfers the storage location of the argument to the GPU. Any functions which use this argument will then be computed by the GPU.

limitation, GPU implementers made the pixel processor in the GPU programmable (via small programs called shaders). Over time, to handle increasing shader complexity, the GPU processing elements were redesigned to support more generalized mathematical, logic and flow control operations. Enabling GPU Computing: Introduction to OpenCL

Will Landau (Iowa State University) Introduction to GPU computing for statisticicans September 16, 2013 20 / 32. Introduction to GPU computing for statisticicans Will Landau GPUs, parallelism, and why we care CUDA and our CUDA systems GPU computing with R CUDA and our CUDA systems Logging in

Latest developments in GPU acceleration for 3D Full Wave Electromagnetic simulation. Current and future GPU developments at CST; detailed simulation results. Keywords: gpu acceleration; 3d full wave electromagnetic simulation, cst studio suite, mpi-gpu, gpu technology confere

be looking at him through this square, lighted window of glazed paper. As if to protect himself from her. As if to protect her. In his outstretched, protecting hand there’s the stub end of a cigarette. She retrieves the brown envelope when she’s alone, and slides the photo out from among the newspaper clippings. She lies it flat on the table and stares down into it, as if she’s peering .