Report Writing
Instructions are clearly mentioned in the file i have attached
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.
ProjectOption 3 of 6 – This is a project for a team of 2 students.
Topic: An Overview of GPU
The following content is from the book “Programming Massively Parallel Processors: A
Hands-on Approach” written by David Kirk and Wen-mei W. Hwu.
Read Sections 1.1 to 1.3 of the book, and write a report of about 3 pages long. In your report, you
should discuss the following content:
The differences between GPU and CPU
The demand of graphical performance on modern computers
The architecture of a modern GPU
The characteristics of CUDATM
You should also prepare for a presentation of 15~20 minutes long. You are responsible to make your
own slides.
- 3 GPU overview
3 GPU overview