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

Lecture 1

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Lecture 1

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

Graphics System Overview

An introduction to CG hardware &


software system architecture

CG Architectures 1
Outline
• Hardware system
– Bus
– GPU/CPU
– Memory/Storage
• Software systems
– Graphics libraries
– Shading languages
– Window systems
CG Architectures 2
Graphics System (1)
• Hardware
– Motherboard:
• CPU, memory, bus, on-board GPU,
– Hard disk, network
– Graphics card
• GPU
• Memory
• Bus
– Display devices
• Printers, screens, projectors, goggles, …
– Input devices
• Keyboards, mouse, trackball, sketch boards, touch screens, joy sticks,..
• Hands, fingers, and body gestures,
• Sounds and voices

CG Architectures 3
Graphics System (2)
• Software – Applications (developed by us
and others)
– OS • Rendering programs
– Window system • Visualization tools
• Window manager • HCI and GUI kits
• Display server • Games
• Client programs • Simulators
– Graphics Libraries • Geometric design tools
• OpenGL, glu, glut, gl es • Word processing software
• Shading languages and • …
drivers (glsl)
• Programming libraries • Contents
(CUDA, OpenCL, …) • Models, images, videos
• Graphic user interface • Trained neural nets
(GUI) API (Qt, glui, …) • Database

CG Architectures 4
Graphics Card
• GPUs + memory + bus + Mother board & bus
interfaces
• Connected with mother board
via a graphics bus:
– PCI
– AGP
– PCI Express
• Usage of graphics cards
– Rendering acceleration
– Image processing
– Geometrical computing
– Massive parallel computing
– General purpose computing
– Artificial computing (deep
learning) …

CG Architectures 5
Graphics Card

• Components: Mother board & bus


– GPU:
• Rendering &
transformation,
• General computation
• Geometrical computing
• Image processing,
– Memory, registers,
• Keeping data & images,
• Displaying & buffering
• Keeping programs
– Internal bus & external
bus
• Data transfer/ interfacing

CG Architectures 6
Graphics Card Connection
PICe x
• The graphics card is 16 bus
CPU
connected to north
North Main
bridge via a bus. monitor
Graphics
bridge memory
card
– 單晶片系統(SoC)不
採用南橋、北橋架
構,for examples, PCI bus
AMD,Intel South
• The bus can be PCI, bridge

AGP, or PCI express.

CG Architectures 7
Bus
• PCI bus is the oldest
one.
• AGP is faster.
• PCI express is the
fastest bus.
• Transfer speed (clock
rate)
• Bandwidth (bits, wires)

CG Architectures 8
PCI Express (PCIe)
• Released in 2002
– Compatible with old PCI bus

• Lower power consumption


• Serial ports (multiple ports)
– Dual direction

• Newest version: PCIe x 16


version 6.x
– speed: 16GB/32GB/126GB for
GPU
– Shared with other peripheral
devices

CG Architectures 9
General Architecture of GPU
• Multiple processors
– Stream Processor , Parallel computing
• Multiple ALUs (cores) in each
processor
– Parallel computing, multiple threads
– Processor clusters
• Hierarchical memory structure
– Main memory in the mother board
– Shared memory in the graphic card
– Local memory for each core/cluster
– Registers for ALUs
– Memory management system

CG Architectures 10
Other GPU Functionalities
• A GPU may contain multiple
ALUs for shading purpose.
• It can process multiple
vertices in parallel.
• It can render several pixels at
the same time.
• It can do other general
purpose computing.
– CUDA & OpenCL, for
examples
• Floating and integer arithmetic
operations are supported

CG Architectures 11
Famous GPU Manufacturers
• Nvidia
• ARM
• Intel
• AMD (ATI)
• Characteristics of GPU
– Graphics computing
– Lower power consumption(*)
– Limited functionalities
– Lower precision (numerically)
– Massively parallel
– System on Chip (SoC)
– More applications, smart-
phones, game kits, AR, VR
head-mount display, …
– Super computing & deep
learning

CG Architectures 12
Some New Applications
• Artificial intelligence • New features
– Pattern recognition – Thousands of thread
– Deep learning in rendering processors (grouped in
& modelling clusters)
– Video stream processing – Multiple ports
• Super-computing – May lacking of display (for
super-computing)
• Self-driving cars – Higher computing power
• Cloud computing – System on chip architecture
• General-purpose – AI computing
computing on graphics – Innovative
processing units programming/computing
environments
(GPGPU), …

CG Architectures 13
Graphics Memory
• AKA video memory
– Several Giga-byte DDR (Dual Data Rate) memory
• For keeping information
– Geometrical data: vertex, normal, connectivity, …
– Textures (very important)
– Images
– Shading programs (written by programmers)
– Other temporary data: scalars, vectors, matrices,…
• On-board or in the graphic card
• Large register file (several megabytes), fast accessing speed.
• Hierarchical architecture/ controlled by memory controllers

CG Architectures 14
Graphics Libraries
• Purposes and definition:
– Sets of subroutines for designing graphics
application programs.

• Famous graphics libraries


– OpenGL, Web GL, GL es, Mini GL, Mesa, …
– DirerctX
– X window libraries, Xt, Xm, …
– Vtk (for visualization)
– …
CG Architectures 15
Graphical User Interface (GUI)
Libraries
• For designing GUI of CG application programs
• Examples
– glut
– glui
– ImGui
– GTK
– Qt
– X-window and MS window libraries
– …
CG Architectures 16
Shading Languages
• We can use OpenGL to render objects.
– Executed in CPU
• We can replace OpenGL shading routines with our shading
programs
– Written by using shading languages
– Executed in GPU.
– Vertex shaders
– Pixel shaders (fragment shaders)
– Geometrical shaders
– Tessellation shader
– Computational shaders
• Shading languages:
– GLSL
– Cg
– …, etc.

CG Architectures 17
OpenGL ES
• For smartphone programming
– User interface
– Rendering and display
– Image processing
– More primitive than OpenGL
– But, more flexible (you can design your
rendering methods, ..etc.)
– Limited instruction set
CG Architectures 18
Web GL
• Java script API
• logo
• 3D & 2D graphics rendering
• Integrated with web
browsers
– Mixed with HTML elements
• Accelerated by GPU
• Developed from OpenGL ES
& conventional OpenGL
• Easy to use for smart phone
applications
• Limited functionalities

CG Architectures 19
General Purpose GPU
• A GPU contains multiple ALU.
• It can be used to perform
– Scalar floating point calculation
– Basic vector operations
– Basic matrix operations
• People use GPU to solve non-graphical
problems.
– Massive parallel computing
– Deep learning
– Shared memory models
CG Architectures 20
Massive Parallel Computation
• A computer system may contain more than
one GPU.
• A GPU contains many ALU.
• Graphics memory are getting larger.
• A massive parallel computing environment
is emerging.
• Single Instruction Multiple Data (SIMD)
machines
CG Architectures 21
Parallel Programming Language for
GPU
• GPUs are used for parallel processing in
shared memory models.
• Currently, several parallel programming
languages are available:
– CUDA
– OpenCL
• We don’t include libraries for AI
programming.
CG Architectures 22
Deep Learning & GPU
• AI chip = GPU (advanced GPUs)
• Usage:
– Model training (learning)
– Run-time pattern detection
– Run-time classification
– Run-time rendering (virtual reality…)
– 作為加速器…
• Multiple GPUs in a single board
– Many ALU in a single GPU (Nvidia A10, A40, …)

CG Architectures 23

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy