You are on page 1of 19

Many-core Computing: GPU

NNP 1
Many-core Computing
Manycore processors are specialist multi-core processors designed for a high degree of parallel
processing, containing a large number of simpler, independent processor cores (e.g. 10s, 100s, or
1,000s).

It is used by the applications which requires


• High degree of parallelism
• HPC
• High throughput
• Handles Bigdata

NNP 2
Examples:
• Graphical Processing Unit (GPU)
• Intel Xeon Phi processor family

NNP 3
Graphical Processing Unit (GPU)
Why not CPU?
• A CPU can perform an individual calculation faster than a GPU. Therefore it can be used to
handle basic computing tasks

But,
• As more graphics-intensive applications such as AutoCAD were developed; however, their
demands put strain on the CPU and degraded performance.
• Acceleration seen with GPUs over CPU-only applications can be on the order of a 10x increase
in speed or more
• CPU is suffering from heat issue

NNP 4
NNP 5
What is GPU?
• It is a highly parallel, multithreaded many-core processor
• Specialized for manipulating computer graphics and image processing
• Offloads and accelerates graphics rendering from the CPU
• Highly efficient where the processing of large blocks of data is done in parallel.
• Flexible to implement any algorithm not only graphics
• Obtains high efficiency and performance
• GPU can be present on Video card / Motherboard

NNP 7
GPU’s are used in

• Embedded systems
• Mobile phones
• Personal computers
• Workstations
• Present on video card, mother board, etc.
Latency oriented cores NNP Throughput oriented cores 9
NNP 10
NNP 11
NVIDIA CUDA
Figure: Schematic illustration of
GPU architecture and
programming elements.
CUDA CORES VS STREAM PROCESSORS
A scenario demands GPU:

NNP 16
How GPU works?

NNP 17
GPU vs CPU

NNP 18
CPU vs GPU

NNP 19

You might also like