0% found this document useful (0 votes)
16 views

Introduction To GPU Architecture

Uploaded by

Hazwan Haziq
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Introduction To GPU Architecture

Uploaded by

Hazwan Haziq
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Introduction to

GPU Architecture

Graphics Processing Units (GPUs) are specialized electronic circuits


designed to accelerate the creation of images, videos, and other
visual content.

GPUs have evolved from simple 2D graphics accelerators to


powerful parallel processors that can handle complex tasks, like
machine learning, scientific simulations, and even general-purpose
computing.
by SYARIF HIDAYATULLAH BIN MUHAMMAD
NASIR A21MJ0093
Graphics Processing Unit (GPU) Basics

GPUs are specialized electronic circuits


designed to accelerate image, video, and visual
content creation.
Unlike CPUs, which are designed for general-
purpose computing, GPUs are optimized for
parallel processing, allowing them to perform
millions of operations simultaneously.

This parallel processing capability makes GPUs


ideal for tasks involving intensive
computations, such as 3D graphics rendering,
video editing, and machine learning.
GPU Architecture Components - Data
Types

Integers Floating-Point Numbers Vectors and Matrices


Integers are whole numbers used Vectors and matrices are
for representing data like object Floating-point numbers represent fundamental data structures used
positions, indices, and frame real numbers with decimal points, for representing geometric
counters. crucial for calculations in graphics transformations, color
and scientific simulations. information, and lighting effects.
GPU Architecture Components - Registers

Register File Types of Registers


Registers are small, high-speed memory locations There are various types of registers, including
within the GPU core. They are used to store general-purpose registers, special-purpose
frequently accessed data, such as program registers, and texture registers. Each type is
variables, intermediate calculation results, and designed for specific purposes and optimization.
texture coordinates.

Register Allocation Impact on Performance


Register allocation is a crucial process in GPU Registers are crucial for GPU performance.
programming. It involves assigning registers to Accessing data from registers is much faster than
variables and optimizing their usage to minimize fetching data from main memory, as registers are
memory access times and improve performance. directly connected to the processing units.
GPU Architecture Components -
Instruction Set

Instruction Types Instruction Pipelines Thread Management


GPUs use specialized Instructions are executed by
instructions optimized for Instructions are processed in a multiple threads, each with its
parallel processing, including pipelined fashion, allowing for own set of registers and
arithmetic, logical, and efficient execution and high memory.
memory access instructions. throughput.
GPU Architecture Components -
Addressing Mode
Linear Texture Indexed Indirect
Addressing Addressing Addressing Addressing

Linear addressing is a Texture addressing is Indexed addressing is Indirect addressing


simple and efficient used for accessing used for accessing allows for flexible data
method where data in textures, which data in arrays, where access using pointers
memory locations are are 2D or 3D images each element is or indices stored in
accessed sequentially, used for rendering accessed using an memory.
This addressing mode
like a single, long objects and surfaces. index.
This addressing mode is crucial for advanced
array.
It's commonly used for It involves using is commonly used for GPU programming
accessing data in coordinates to specify storing vertex data, techniques, such as
frame buffers and a location within the such as positions, dynamic data
textures, where data is texture, allowing for normals, and texture structures and data-
organized in a linear efficient sampling of coordinates. driven rendering.
fashion. texture data.
GPU Memory
Hierarchy
GPUs utilize a hierarchical memory system to optimize
data access speeds. This hierarchy consists of multiple
levels of memory, each with different access speeds and
capacities.
Registers are the fastest but smallest memory level. The
next level is the cache, which is larger and slower than
registers. The largest and slowest memory level is the
global memory, used for storing large amounts of data.
GPU Parallel Processing Capabilities

Parallel Processing Thread Execution Workload Distribution


GPUs are designed for massive GPUs can run multiple threads The workload is efficiently
parallelism, allowing them to simultaneously, each executing distributed across multiple
perform millions of calculations instructions independently, processing units, enabling GPUs
simultaneously. maximizing computational power. to tackle complex tasks
efficiently.
GPU Applications and Use Cases
1 Gaming 2 Scientific Computing
GPUs are crucial for delivering stunning GPUs accelerate complex simulations in
graphics, realistic physics, and immersive fields like physics, chemistry, and biology,
gaming experiences. enabling groundbreaking discoveries.

3 Machine Learning and AI 4 Video Editing and Rendering


GPUs are essential for training deep GPUs expedite the rendering process for
learning models, powering AI applications, high-quality videos, enabling faster editing
and driving advancements in natural and production workflows.
language processing and computer vision.
Conclusion and
Future Trends

GPU technology is constantly evolving, with new


architectures and advancements being developed.

Future trends include increased parallelism, improved


memory bandwidth, and specialized hardware for
machine learning and AI applications.

You might also like