close

Вход

Забыли?

вход по аккаунту

?

Brief GPU History

код для вставкиСкачать
Emergence of GPU systems and
clusters for general purpose High
Performance Computing
These notes will introduce:
• The development of GPU devices from the 1970’s to
the present day
• Their use in high performance computers today
ITCS 6/8010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Jan 19, 2011
1
Graphics Processing Units
(GPUs)
GPUs have developed from graphics cards into a
platform for high performance computing and perhaps
the most important development in HPC for many
years.
2
Graphics Processing Units (GPUs)
Brief History
GPU Computing
General-purpose computing
on graphics processing units
(GPGPUs)
GPUs with
programmable shading
Nvidia GeForce
GE 3 (2001) with
programmable shading
DirectX graphics API
OpenGL graphics API
Hardware-accelerated
3D graphics
S3 graphics cardssingle chip 2D
accelerator
Atari 8-bit IBM PC Professional
Playstation
computer
Graphics Controller
text/graphics chip
card
1970
1980
1990
Source of information http://en.wikipedia.org/wiki/Graphics_Processing_Unit
2000
2010
CPU-GPU architecture evolution
Co-processors -- very old idea that appeared in
1970s and 1980s with floating point coprocessors attached to microprocessors that did
not then have floating point capability.
These coprocessors simply executed floating
point instructions that were fetched from memory.
Around same time, interest to provide hardware
support for displays, especially with increasing
use of graphics and PC games.
Led to graphics processing units (GPUs)
attached to CPU to create video display.
Early design
Memory
CPU
Graphics
card
Display
4
GPUs with dedicated pipelines
(late1990s-early 2000s)
By late1990’s, graphics chips
needed to support 3-D graphics,
especially for games and graphics
APIs such as DirectX and
OpenGL.
Graphics chips generally had a
pipeline structure with individual
stages performing specialized
operations, finally leading to
loading frame buffer for display.
Input stage
Vertex shader
stage
Graphics
memory
Geometry
shader stage
Rasterizer stage
Individual stages may have access
to graphics memory for storing
intermediate computed data.
Frame
buffer
Pixel shading
stage
5
General-Purpose GPU designs
High performance pipelines call for high-speed (IEEE) floating point
operations.
People had been trying to use GPU cards to speed up scientific
computations
Known as GPGPU (General-purpose computing on graphics
processing units) -- Difficult to do with specialized graphics pipelines,
but possible.)
By mid 2000’s, recognized that individual stages of graphics pipeline
could be implemented by a more general purpose processor core
(although with a data-parallel paradym)
6
a
GPU design for general high
performance computing
2006 -- First GPU for general high performance computing as well
as graphics processing, NVIDIA GT 80 chip/GeForce 8800 card.
Unified processors that could perform vertex, geometry, pixel, and
general computing operations
Could now write programs in C rather than graphics APIs.
Single-instruction multiple thread (SIMT) programming model
7
1993
NVIDIA products
NVIDIA Corp. is the leader in GPUs for high performance
computing:
Tesla 2050 GPU
has 448 thread
processors
Maxwell
(2013)
Kepler
(2011)
Fermi
NVIDIA's first
GPU with
general purpose
processors
Tesla
C870, S870, C1060, S1070, C2050, …
GeForce 400 series
Quadro
Established by JenHsun Huang, Chris
Malachowsky,
Curtis Priem
GTX460/465/470/475/
480/485
GT 80
GeForce 200 series
GeForce
GTX260/275/280/285/295
8800
GeForce 8 series
GeForce 2 series GeForce FX series
NV1
1995
GeForce 1
1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010
GPU performance gains over CPUs
1400
T12
1200
NVIDIA GPU
Intel CPU
GFLOPs
1000
GT200
800
G80
600
400
G70
200
NV30
NV40
3GHz Dual
Core P4
3GHz Core2
Duo
3GHz Xeon
Quad
Westmere
0
9/22/2002
2/4/2004
6/18/2005
10/31/2006
3/14/2008
Source В© David Kirk/NVIDIA and Wen-mei W. Hwu, 2007-2009
ECE 498AL Spring 2010, University of Illinois, Urbana-Champaign
7/27/2009
9
Specialized pipeline
design
GeForce 6 Series
Architecture
(2004-5)
From GPU Gems 2, Copyright
2005 by NVIDIA Corporation
10
GPU design with processors
11
Evolving GPU design
NVIDIA Fermi architecture
(announced Sept 2009)
• 512 stream processing engines (SPEs)
• Organized as 16 SPEs, each having 32 cores
• 3GB or 6 GB GDDR5 memory
• Many innovations including L1/L2 caches, unified device memory
addressing, ECC memory, …
First implementation: Tesla 20 series
(single chip C2050/2070, 4 chip S2050/2070)
3 billion transistor chip?
New Fermi chips planned (GT 300, GeForce 400 series)
12
Fermi Streaming
Multiprocessor (SM)
* Whitepaper
NVIDIA’s Next
Generation CUDA
Compute
Architecture: Fermi,
NVIDIA, 2008
13
CUDA
(Compute Unified Device Architecture)
Architecture and programming model, introduced in NVIDIA in 2007
Enables GPUs to execute programs written in C.
Within C programs, call SIMT “kernel” routines that are executed on
GPU.
CUDA syntax extension to C identify routine as a Kernel.
Very easy to learn although to get highest possible execution
performance requires understanding of hardware architecture
14
CUDA SIMT
Thread Structure
Allows
flexibility and
efficiency in
processing
1D, 2-D, and
3-D data on
GPU.
Can be 1 or 2
dimensions
Can be 1, 2 or
3 dimensions
Linked to
internal
organization
Threads in
one block
execute
together.
CUDA C programming guide, v 3.2, 2010,
NVIDIA
15
Memory Structure within GPU
Local private memory -- per thread
Shared memory -- per block
Global memory -- per application
GPU executes kernel grids.
Streaming multiprocessor (SM) executes
one or more thread blocks
CUDA cores and other execution units in
the SM execute threads.
SM executes threads in groups of 32
threads called a warp.*
* Whitepaper NVIDIA’s Next Generation CUDA Compute Architecture: Fermi, NVIDIA, 2008
16
GPU Clusters
With advent of GPUs for scientific high performance
computing, compute cluster now can incorporate, greatly
increasing their compute capability.




GPU systems for HPC
GPU clusters
GPU Grids
GPU Clouds
17
18
Maryland CPU-GPU Cluster Infrastructure
http://www.umiacs.umd.edu/res
earch/GPU/facilities.html
19
20
http://www.gpugrid.net/
Intel’s
response to
Nvidia and
GPUs
21
Questions
Документ
Категория
Без категории
Просмотров
6
Размер файла
1 884 Кб
Теги
1/--страниц
Пожаловаться на содержимое документа