Report Writing

profileash0926
GPU-Overview.pptx

Computer Architecture csci 450

Team Project on GPU Overview

Prepared by:

Sony Thapa-50253072

Sudish Thapa-50265301

GPU

It stands for Graphics Processing unit.

It was introduced to the wider market in 1999.

It is a specialized processor originally designed to accelerate graphics rendering.

It can process many piece of data simultaneously, making them useful for machine learning, video editing and gaming applications.

GPU

It is best known for providing smooth graphic for consumers in modern videos and games.

Today's GPUs are more programmable than ever before

Example: GeForce, NVIDEA, ASUS

Components of GPU

Motherboard-Connection for data and power

Graphics Processor- to decide what to do with each pixel on the screen

Memory-hold information about each pixel and to temporarily store completed pictures

Display Connector

Diagram of modern GPU

CPU

It is stands for central processing unit and is also called central processor, main processor or just processor.

It is the electronic circuitry that executes instruction comprising a computer program.

It performs basic arithmetic logic controlling and input/output (I/O) operations specified by the instructions in the program.

CPU

It has four basic functions to perform a task .

Fetch- Fetch instruction from memory

Decode- Decode into binary instruction

Execute- Execute action and move to next step

Store- write to output memory

Example: Intel, AMD, ARM

Difference between CPU and GPU

CPU is designed to handle a wide range of tasks quickly but are limited in the concurrency of task that can be running whereas GPU is designed to quickly render highly resolution images and videos concurrently .

GPUs can process data several orders of magnitude faster than a CPU due to massive parallelism

GPUs are not as versatile as CPUs .

Difference between CPU and GPU

CPU have large and broad instruction sets managing every input and output of a computer which a GPU cannot do.

Though GPUs have many more cores they are less powerful than CPU in terms of Clock speed.

GPU as parallel computers

There are two trajectory for designing microprocessor

Multicore trajectory

It maintenance the execution speed of sequential program while moving into multiple cores.

It began as two core process with the number of cores doubling approximately with semiconductor process generator.

Example: Intel ® Core™ i7 Microprocessor

GPU as parallel computers

2. Many-core trajectory

It focuses on the execution throughput of parallel applications

it began as a large number of very smaller cores and the number of cores double with each generation

Example: NVIDIA® GeForce® GTX 280 graphics processing unit with 240 cores

Performance Gap Between Gpu and cpu

The adjusent picture illustrates:

The performance of general purpose microprocessor has slowed down whereas GPUs have improved

The ratio between multicore CPU and many cures CPU for pick floating point calculation throughput is 10:1 ratio

Performance Gap Between Gpu and cpu

The gap between many core GPU an multi core CPU are due to the difference in design between them.

The design of a CPU is optimized for sequential code performance whereas the design philosophy of the GPU is shaped by fast growing video game industries .

GPUs are designed as numeric computing engines so it will not work in the same manner as in which CPU performs in some task.

Performance Gap Between Gpu and cpu

Hence CUDA (Compute Unified Device Architecture) programming model was introduced which uses both CPU and GPU.

Demand of graphical performance

The cost of software development is directly proportional to the number of customers more the customer laser the price

The application Department have been choosing GPU over CPU because of its abundancy in the market

Due to the popularity in the PC market millions of GP us has been sold end large market presence has made application developer attracted to GPU.

Demand of graphical performance

GPU is practical an has easy accessibility

It provides superior processing power memory with an efficiency than CPU

GPU Architecture

Host Interface-it is the communication bridge between the CPU and the GPU. It receives commands from the CPU and pulls geometry information from system memory

Vertex Processing- It maps vertices onto the screen and adds special effects to objects in a 3D environment.

Triangle Setup- In here the screen space pixel locations are covered by each triangle. A fragment is generated if and only if its center is inside the triangle

GPU Architecture

Pixel processing- In here the computation of texture mapping and math operations takes place

Memory interface- Fragment colors provided by the previous stage are written to the framebuffer. When the final pixels are processed and are provided as picture

CUDA

CUDA stands for Compute unified device architecture

It was developed in 2007 by NVIDIA to support joint CPU/GPU execution of an application

It is a parallel computing platform and programming model.

It enables developers to a speed of computer intensive application by harnessing the power of GPU .

It supports other computational interfaces and is designed to work with languages like C, C++ and Fortan.

REfereNCE

Amal R Follow. “Graphics Processing Unit (GPU).” SlideShare, www.slideshare.net/AmalR1/graphics-processing-unit-gpu-51466464?fbclid=IwAR3Mgefyn9UF5e4jyxIygHe

Kirk, David B., and Wen-mei Hwu. Programming Massively Parallel Processors: a Hands-on Approach. Morgan Kaufmann, 2017.