You are on page 1of 33

VIJAYA VITTALA INSTITUTE OF TECHNOLOGY

Department of Computer Science and Engineering

Technical Seminar
On

Next Generation Graphics GPU


Submitted By
RAVITHEJA N [1VJ18CS038]
Under the Guidence
Ms. Kavitha C
(Asst.Prof, Dept. Of CSE)
Table of Contents

Introduction

Problem Statement

Modules

- Components

- GPU Pipelines

- GPU Forms

Conclusion

References
Graphics Processing Unit
Introduction

 A Graphics Processing Unit (GPU) is a microprocessor that has been

designed specifically for the processing of 3D graphics.


 The processor is built with integrated transform, lighting, triangle

setup/clipping, and rendering engines, capable of handling millions


of math-intensive processes per second.
GPUs form the heart of modern graphics cards, relieving the CPU

(central processing units) of much of the graphics processing load.


Why GPU?

 To provide a separate dedicated graphics resources

including a graphics processor and memory.


 To relieve some of the burden of the main system
resources, namely the Central Processing Unit, Main
Memory, and the System Bus, which would otherwise get
saturated with graphical operations and I/O requests.
What is a GPU?

 A Graphics Processing Unit or GPU (also occasionally


called Visual Processing Unit or VPU) is a dedicated
processor efficient at manipulating and displaying computer
graphics .
 Like the CPU (Central Processing Unit), it is a single-chip
processor.
HOWEVER,

The abstract goal of a GPU, is to enable a


representation of a 3D world as realistically as
possible. So these GPUs are designed to provide
additional computational power that is customized
specifically to perform these 3D tasks.
GPU vs CPU

 A GPU is tailored for highly parallel operation while a CPU


executes programs serially.
 For this reason, GPUs have many parallel execution units ,
while CPUs have few execution units .
 GPUs have significantly faster and more advanced memory
interfaces as they need to shift around a lot more data than
CPUs.
 GPUs have much deeper pipelines (several thousand stages vs
10-20 for CPUs).
BRIEF HISTORY
 First-Generation GPUs
 Up to 1998; Nvidia’s TNT2, ATi’s Rage, and 3dfx’s Voodoo3;DX6 feature set.

 Second-Generation GPUs
 1999 -2000; Nvidia’s GeForce256 and GeForce2, ATi’s Radeon7500, and S3’s Savage3D; T&L;
OpenGL and DX7;Configurable.

 Third-Generation GPUs
 2001; GeForce3/4Ti, Radeon8500, MS’s Xbox; OpenGL ARB, DX7/8; Vertex Programmability +
ASM

 Fourth-Generation GPUs
 2002 onwards; GeForce FX family, Radeon 9700; OpenGL+extensions, DX9; Vertex/Pixel
Programability + HLSL; 0.13μ Process, 125M T/C, 200M T/S.
 Fifth-Generation GPUs
- GeForce 8X:DirectX10, GTX, RTX
COMPONENTS OF GPU

Graphics Processor
 Graphics co-processor
 Graphics accelerator
 Frame buffer
 Memory
 Graphics BIOS
 Digital-to-Analog Converter (DAC)
 Display Connector
 Computer (Bus) Connector
Intel and AMD CPU
The difference…….

Without GPU With GPU


GRAPHICS CARD

A Diamond Monster 3D, Video Card (1997) New Nvidia GeForce GTX 1080 Ti and RTX 3080 Cards 2021

Vodo Chipset
The GPU pipeline

 The GPU receives geometry information from the CPU as an


input and provides a picture as an output
 Let’s see how that happens…

host vertex triangle pixel memory


interface processing setup processing interface
Host Interface

 The host interface is the communication bridge between the CPU and the GPU.
 It receives commands from the CPU and also pulls geometry information from

system memory.
 It outputs a stream of vertices in object space with all their associated information

(texture coordinates, per vertex color etc) .

host vertex triangle pixel memory


interface processing setup processing interface
Vertex Processing

 The vertex processing stage receives vertices from the host interface in object space

and outputs them in screen space


 This may be a simple linear transformation, or a complex operation involving

morphing effects
 No new vertices are created in this stage, and no vertices are discarded

(input/output has 1:1 mapping)

host vertex triangle pixel memory


interface processing setup processing interface
Triangle setup

In this stage geometry information becomes raster information (screen

space geometry is the input, pixels are the output)


Prior to rasterization, triangles that are backfacing or are located outside

the viewing frustum are rejected

host vertex triangle pixel memory


interface processing setup processing interface
Triangle Setup (cont…..)

A pixel is generated if and only if its center is inside the triangle

Every pixel generated has its attributes computed to be the perspective

correct interpolation of the three vertices that make up the triangle


Pixel Processing

Each pixel provided by triangle setup is fed into pixel


processing as a set of attributes which are used to compute the
final color for this pixel
The computations taking place here include texture mapping
and math operations

host vertex triangle pixel memory


interface processing setup processing interface
Memory Interface

Pixel colors provided by the previous stage are written to the


framebuffer
Used to be the biggest bottleneck before pixel processing took over
Before the final write occurs, some pixels are rejected by the zbuffer .On
modern GPUs z is compressed to reduce framebuffer bandwidth (but
not size).

host vertex triangle pixel memory


interface processing setup processing interface
Programmability in GPU pipeline

 In current state of the art GPUs, vertex and pixel processing are now

programmable
 The programmer can write programs that are executed for every vertex as

well as for every pixel


 This allows fully customizable geometry and shading effects that go well

beyond the generic look and feel of older 3D applications

host vertex triangle pixel memory


interface processing setup processing interface
Problem Statement

CUDA source code is provided on host machines or GPU, as defined by
C++ syntax rules. Older versions of CUDA used C syntax rules, meaning
that updated CUDA source code may or may not work as expected.

CUDA has one-way interoperability with rendering languages like
OpenGL.

OpenGL can access the CUDA registered memory, but CUDA cannot
access OpenGL memory.

Later versions of CUDA do not provide emulators or fallback support for
older versions.

CUDA only supports NVIDIA hardware.
CUDA (Compute Unified Device Architecture)
A parallel computing platform and programming model

Developer(s) NVIDIA Corporation

• CUDA is a parallel computing platform Initial release June 23, 2007; 8 years ago


and application programming interface (API)
Stable release 7.5 / September 8, 2015;
model created by NVIDIA.
• It allows software developers to use a
Operating system Windows XP and later,
CUDA-enabled graphics processing
Mac OS X, Linux
unit (GPU) for general purpose processing –
an approach known as GPGPU. Platform Supported GPUs
• The CUDA platform is a software layer that
Type GPGPU
gives direct access to the GPU's
virtual instruction set and parallel License Freeware

computational elements. Website www.nvidia.com/object/cuda_


home_new.html
GTX stands for Giga Texel Shader eXtreme and RTX
stands for Ray Tracing Texel eXtreme, these are not a
simple technology to understand by any means but the
most basic difference between the two is that the RTX is
specifically designed for performing Real-Time Ray
Tracing.
GTX 1080Ti vs RTX 3080

Graphics Card GTX 1080Ti RTX 3080

GPU architecture Pascal Turing

Frame Buffer 11 GB GDDR5X 8 GB GDDR6

Memory Speed 11 Gbps 14 Gbps

Boost Clock 1582 MHz 1710 MHz

Ray Tracing Not Supported Supported

DLSS Not Supported Supported

Price $1000 $700


GPU forms Dedicated graphics cards

• The GPUs of the most powerful class typically interface with the motherboard by means of
an expansion slot such as PCI Express (PCIe) or Accelerated Graphics Port (AGP) and can
usually be replaced or upgraded with relative ease.
• A dedicated GPU is not necessarily removable, nor does it necessarily interface with the
motherboard in a standard fashion.
• The term "dedicated" refers to the fact that dedicated graphics cards have RAM that is
dedicated to the card's use, not to the fact that most dedicated GPUs are removable.
• Technologies such as SLI by Nvidia and CrossFire by AMD allow multiple GPUs to draw
images simultaneously for a single screen, increasing the processing power available for
graphics.
Integrated graphics solutions

• Integrated graphics solutions, shared graphics solutions, or integrated graphics processors


(IGP) utilize a portion of a computer's system RAM rather than dedicated graphics
memory.
• IGPs can be integrated onto the motherboard as part of the chipset, or within the same die
as CPU (like AMD APU or Intel HD Graphics). On certain motherboards AMD's IGPs can
use dedicated sideport memory. This is a separate fixed block of high performance memory
that is dedicated for use by the GPU.
• As a GPU is extremely memory intensive, an integrated solution may find itself competing
for the already relatively slow system RAM with the CPU, as it has minimal or no dedicated
video memory.
Hybrid solutions

• This newer class of GPUs competes with integrated graphics in the low-end
desktop and notebook markets. The most common implementations of this
are ATI's HyperMemory and Nvidia's TurboCache.
• Hybrid graphics cards are somewhat more expensive than integrated
graphics, but much less expensive than dedicated graphics cards.
• These share memory with the system and have a small dedicated memory
cache, to make up for the high latency of the system RAM.
• Technologies within PCI Express can make this possible.
Stream Processing and General Purpose GPUs (GPGPU)

• It is becoming increasingly common to use a general purpose graphics processing unit


(GPGPU) as a modified form of stream processor.
• This concept turns the massive computational power of a modern graphics accelerator's
shader pipeline into general-purpose computing power, as opposed to being hard wired
solely to do graphical operations.
• The two largest discrete GPU designers, ATI and Nvidia, are beginning to pursue this
approach with an array of applications.
• GPGPU can be used for many types of embarrassingly parallel tasks including ray tracing.
• They are generally suited to high-throughput type computations that exhibit data-
parallelism to exploit the wide vector width SIMD architecture of the GPU.
External GPU (eGPU)

• An external GPU is a graphics processor located outside of the housing of the


computer.
• External graphics processors are often used with laptop computers.
• Laptops might have a substantial amount of RAM and a sufficiently powerful
central processing unit (CPU), but often lack a powerful graphics processor (and
instead have a less powerful but more energy-efficient on-board graphics chip).
• Therefore, it is desirable to be able to attach a GPU to some external bus of a
notebook. PCI Express is the only bus commonly used for this purpose.
Conclusion

Graphics Processing Unit is not a wonder that this piece of hardware

is often referred to as an exotic product as far as computer


peripherals are concerned.
By observing the current pace at which work is going on in

developing GPUs we can surely come to a conclusion that we will be


able to see better and faster GPUs in the near future.
References

[1] https://www.bing.com/images/search?view=detailV2&ccid=j3JTpHzu&id=8FA13BEE39CF188FC0468AB31A
56FF8DE12BCC92&thid=OIP.j3JTpHzu18C1EPA6vrv0PQAAAA&mediaurl=http%2fwww.voxtechnologies.com
1_1.jpg&exph=175&expw=236&q=isa+bus+vga&simid=608030650983579825&selectedIndex=11

[2] https://www.bing.com/images/search?view=detailV2&ccid=R19B3hcW&id=CD97B291D85790AF093DCF264
0545499DD04E961&thid=OIP.R19B3hcW4hOl86FBxdT9awHaGM&mediaurl=https%3a%2f%2fwww.legitre
views.com%2fwp_x0002_content%2fuploads%2f2016%2f08%2fxfx-r=http%2fwww.voxtechnologies.com

[3] https://en.wikipedia.org/wiki/File:CUDA_processing_flow_(En).PNG

[4] https://www.khronos.org/registry/spir-v/
THANK YOU

You might also like