SlideShare a Scribd company logo
1 of 58
Download to read offline
Few Things about Mobile GPU
First Thing
The Mobile GPU
Non-3D Graphics Approach
For Graphics…….
1950
Ben Laposky uses oscilloscope to display waveforms
which were photographed as artwork.
1955
SAGE system at Lincoln Lab
uses first light pen
1961
John Whitney "Catalog" 1961
1963
DAC-1, first commercial CAD system,
developed in 1959 by IBM for General
Motors is shown at JCC
1982 Silicon Graphics, Inc (SGI)
Geometry Engine board Raster Manager board
1982 RealityEngine Graphics
1982 RealityEngine Graphics
Transform Matrix =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
11 11
22
22
33
33
44
44
http://joshbeam.com/articles/triangle_rasterization/
1982 RealityEngine Graphics
Input Triangle =
-0.4 -0.4 0.0 // Bottom Left
0.4 -0.4 0.0 // Bottom Right
0.0 0.4 0.0 // Top Middle
Transform Matrix =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
11 11
22
22
33
33
44
44
1982 RealityEngine Graphics
Transform Matrix =
Some rotations...
11
11
22
22
33
33
44
44
Modern Mobile GPU
Two Phases
Vertex Pass Pixel Pass
Primitives
Rasterization
Textures
Framebuffer
Pbuffer
Texture Unit
Vertex Domain Pixel Domain
Fragment Shader
Texture
Shader ?
Vertex Shader
memory
Immediate Mode
http://blog.imgtec.com/powervr/a-look-at-the-powervr-graphics-architecture-tile-based-rendering
Vertex Pass Rasterization Pixel Pass
Result
Saving Some Bandwidth
Vertex Pass Pixel Pass
Primitives
Rasterization
Textures
Framebuffer
Pbuffer
Texture Unit
Vertex Domain Pixel Domain
Fragment Shader
Texture
Shader ?
Vertex Shader
memory
But we don’t
want redraw!
Added Internal Buffer
Vertex Pass Pixel Pass
Primitives
Rasterization
Textures
Framebuffer
Pbuffer
Texture Unit
Vertex Domain Pixel Domain
Fragment Shader
Texture
Shader ?
Vertex Shader
memory
Tile Buffer
But the buffer is not big enough for
entire frame!
http://blog.imgtec.com/powervr/a-look-at-the-powervr-graphics-architecture-tile-based-rendering
Tiling
Need to solve….
the rendering sequence
http://blog.imgtec.com/powervr/a-look-at-the-powervr-graphics-architecture-tile-based-rendering
Tiling
Tile Based Rendering
http://blog.imgtec.com/powervr/a-look-at-the-powervr-graphics-architecture-tile-based-rendering
Vertex Pass Rasterization Pixel Pass
Sort out which triangle
belongs to which tile
The tile-shaped buffer
to store intermediate result
Rendering
tile-by-tile
But we don’t want to recalculate!
http://blog.imgtec.com/powervr/a-look-at-the-powervr-graphics-architecture-tile-based-rendering
Lazy by Defering
Lazy by Deferring
http://blog.imgtec.com/powervr/a-look-at-the-powervr-graphics-architecture-tile-based-rendering
Vertex Pass Rasterization Pixel Pass
Early rejection for
the things you can’t see
But we want use it for Computation!
Shaders Save the Day!
Vertex Pass Pixel Pass
data
Rasterization
Textures
Texture Unit
Vertex Domain Pixel Domain
Fragment Shader
Texture
Shader ?
Vertex Shader
memory
On Real Chip – Imagination 8XE
On Real Chip – Nvidia GTX 1080
http://www.mobipicker.com/nvidia-gtx-1080-directx-12-benchmarks-async-compute/
Graphics Tricks
Render to texture
https://udn.epicgames.com/Three/RenderToTexture.html
Graphics Tricks
Lighting
http://www.tomdalling.com/blog/modern-opengl/07-more-lighting-ambient-specular-attenuation-gamma/
Graphics Tricks
Bump Mapping
https://en.wikipedia.org/wiki/Bump_mapping
Graphics Tricks
Bump Mapping – Issue
Graphics Tricks
Multiple Render Targets
https://developer.apple.com/library/ios/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/OpenGLESApplicationDesign/OpenGLESApplicationDesign.html
http://http.download.nvidia.com/developer/presentations/2004/6800_Leagues/6800_Leagues_Deferred_Shading.pdf
OpenGL ES 3.1OpenGL ES 3.1
11
22
Beware the bandwidth cost!
Graphics Tricks
Cube Map
https://alastaira.wordpress.com/page/4/
The Computation Tricks
Gaussian Filter by Texture Unit
http://www.nvidia.de/content/PDF/isc-2011/Steen.pdf
Second Thing
The Comparison
CPU vs GPU : Architecture
https://www.classicspecification.com.ng/the-difference-between-cpu-and-gpu/
Latency Driven Throughput Driven
Different Design Ideas
● GPU are not running multiple things:
– Not compiling 100 files
– Serving 10000 users on web backend
● But a large things:
– searching 1M patches on a image
– calculation of matrix multiplication of
1000x1000
Throughput is not Free : Branch
SIMT
Throughput is not Free : Bandwidth
Main Mem GPU Mem Main Mem
Bandwidth
GPU
Bandwidth
PC 16GB DDR4 8GB DDR5 or
8GB DDR5X
34 GB/s 224 GB/s
320 GB/s
Mobile 4GB LPDDR4 Shared 17 GB/s 17 GB/s
LPDDR4 : 28.8GB/s
Q S820 LPDDR4: 17.4GB/s
GTX 980 DDR5 : 224GB/s
GTX 1080 DDR5X : 320GB/s
http://www.geforce.com.tw/hardware/desktop-gpus/geforce-gtx-980/specifications
http://www.geforce.com/hardware/10series/geforce-gtx-1080
Intel i7 6700HQ max bandwidth 34.1 GB/s
PC vs Mobile : Architecture
Main Mem GPU Mem Main Mem /
GPU
Bandwidth
Cooling Chip + RAM Price
PC 16GB DDR4 8GB DDR5X 34 GB/s
224 GB/s
Air/Liquid USD 1000.-
Mobile 4GB LPDDR4 Shared 17 GB/s
17 GB/s
None USD 100.-
PC vs Mobile : Performance
Performance
CPU:GPU:ASIC
Power
Efficiency
GFLOPS/J
PC 1 : 100 : ? ?
Mobile 1 : 10 : ? ?
*single CPU thread.
Third Thing
The Trends
Ground Truth + Change of Balance =
the Future
Other Choices
● DSP
● FPGA
Restrictions
● Thermal Wall
● Battery
● Cost
● Bandwidth
No More Free Transistor
Performance Hit on the Thermal Wall
Parallel Programming is Hard
● Synchronization
● Race condition
● Debugging
New Demand
Programming Models
● OpenGL
● OpenCL
● Vulkan
● CUDA
● C++AMP
● Halide
Vulkan
● Favor clone over creation
New Memory / Storage to address
bandwidth issue
● 3D XPoint
● DDR5X
● HBM2
From Batch to Realtime
● Realtime raytracing
● Interactive weather forecasting
● Map reconstruction after earthquake
● Realtime machine learning
● Face-morphing in the video
conference
From 工人智慧 to 人工智慧
Ground Truth
Hidden in Plain Sight
Change of Balance
Thermodynamics
The Future
Is Now
Further Reading
http://www.slideshare.net/embeddedvision/f0
2-arm-mijat

More Related Content

What's hot

Material design screen transitions in android
Material design screen transitions in androidMaterial design screen transitions in android
Material design screen transitions in android
Codecamp Romania
 

What's hot (7)

Rtx 2080 ti
Rtx 2080 tiRtx 2080 ti
Rtx 2080 ti
 
Virtual reality
Virtual realityVirtual reality
Virtual reality
 
Turning large CAD assemblies into real-time 3D visualizations- Unite Copenhag...
Turning large CAD assemblies into real-time 3D visualizations- Unite Copenhag...Turning large CAD assemblies into real-time 3D visualizations- Unite Copenhag...
Turning large CAD assemblies into real-time 3D visualizations- Unite Copenhag...
 
myVR presentation at HXGN Live 2013
myVR presentation at HXGN Live 2013myVR presentation at HXGN Live 2013
myVR presentation at HXGN Live 2013
 
New 2D World-Building, Animation & Graphics Features in Unity
New 2D World-Building, Animation & Graphics Features in UnityNew 2D World-Building, Animation & Graphics Features in Unity
New 2D World-Building, Animation & Graphics Features in Unity
 
Material design screen transitions in android
Material design screen transitions in androidMaterial design screen transitions in android
Material design screen transitions in android
 
NVIDIA press conference at CES 2014
NVIDIA press conference at CES 2014NVIDIA press conference at CES 2014
NVIDIA press conference at CES 2014
 

Similar to Few Things about Mobile GPU

From Flat to Stacked - Alicia C Newberry - City of Milton
From Flat to Stacked - Alicia C Newberry - City of MiltonFrom Flat to Stacked - Alicia C Newberry - City of Milton
From Flat to Stacked - Alicia C Newberry - City of Milton
Alicia Newberry
 
Folza_paper_mechatronics
Folza_paper_mechatronicsFolza_paper_mechatronics
Folza_paper_mechatronics
Alex Folz
 
3D on the Web in 2011
3D on the Web in 20113D on the Web in 2011
3D on the Web in 2011
Chad Austin
 

Similar to Few Things about Mobile GPU (20)

GRAPHICS PROCESSING UNIT (GPU)
GRAPHICS PROCESSING UNIT (GPU)GRAPHICS PROCESSING UNIT (GPU)
GRAPHICS PROCESSING UNIT (GPU)
 
From Flat to Stacked - Alicia C Newberry - City of Milton
From Flat to Stacked - Alicia C Newberry - City of MiltonFrom Flat to Stacked - Alicia C Newberry - City of Milton
From Flat to Stacked - Alicia C Newberry - City of Milton
 
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdfAdvanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
 
Xamarin Sqlite Performance
Xamarin Sqlite PerformanceXamarin Sqlite Performance
Xamarin Sqlite Performance
 
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdfAdvanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
 
Gpudigital lab for english partners
Gpudigital lab for english partnersGpudigital lab for english partners
Gpudigital lab for english partners
 
Mod 2 hardware_graphics.pdf
Mod 2 hardware_graphics.pdfMod 2 hardware_graphics.pdf
Mod 2 hardware_graphics.pdf
 
[Unite Seoul 2019] Mali GPU Architecture and Mobile Studio
[Unite Seoul 2019] Mali GPU Architecture and Mobile Studio [Unite Seoul 2019] Mali GPU Architecture and Mobile Studio
[Unite Seoul 2019] Mali GPU Architecture and Mobile Studio
 
Enabling Artificial Intelligence - Alison B. Lowndes
Enabling Artificial Intelligence - Alison B. LowndesEnabling Artificial Intelligence - Alison B. Lowndes
Enabling Artificial Intelligence - Alison B. Lowndes
 
Compute API –Past & Future
Compute API –Past & FutureCompute API –Past & Future
Compute API –Past & Future
 
Folza_paper_mechatronics
Folza_paper_mechatronicsFolza_paper_mechatronics
Folza_paper_mechatronics
 
Beta
BetaBeta
Beta
 
Evolution and Advancement in Chipsets
Evolution and Advancement in ChipsetsEvolution and Advancement in Chipsets
Evolution and Advancement in Chipsets
 
Introduction to Software Defined Visualization (SDVis)
Introduction to Software Defined Visualization (SDVis)Introduction to Software Defined Visualization (SDVis)
Introduction to Software Defined Visualization (SDVis)
 
graphics processing unit ppt
graphics processing unit pptgraphics processing unit ppt
graphics processing unit ppt
 
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdfAdvanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
 
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdfAdvanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
 
Computer graphics by bahadar sher
Computer graphics by bahadar sherComputer graphics by bahadar sher
Computer graphics by bahadar sher
 
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdfAdvanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
Advanced View Pic Microcontroller Projects List _ PIC Microcontroller.pdf
 
3D on the Web in 2011
3D on the Web in 20113D on the Web in 2011
3D on the Web in 2011
 

More from Mindos Cheng

More from Mindos Cheng (13)

Deep Learning Accelerator Design Techniques
Deep Learning Accelerator Design TechniquesDeep Learning Accelerator Design Techniques
Deep Learning Accelerator Design Techniques
 
Tensor Core
Tensor CoreTensor Core
Tensor Core
 
Open GL ES Android
Open GL ES AndroidOpen GL ES Android
Open GL ES Android
 
Why Systolic Architectures
Why Systolic ArchitecturesWhy Systolic Architectures
Why Systolic Architectures
 
Federated learning
Federated learningFederated learning
Federated learning
 
OpenGL ES 3.0 2013
OpenGL ES 3.0 2013OpenGL ES 3.0 2013
OpenGL ES 3.0 2013
 
Introduction to G0V.tw 2013
Introduction to G0V.tw 2013Introduction to G0V.tw 2013
Introduction to G0V.tw 2013
 
Google IO 2016
Google IO 2016Google IO 2016
Google IO 2016
 
GTC 2016 Taiwan Startups
GTC 2016 Taiwan StartupsGTC 2016 Taiwan Startups
GTC 2016 Taiwan Startups
 
GTC 2016 Taiwan Demos
GTC 2016 Taiwan DemosGTC 2016 Taiwan Demos
GTC 2016 Taiwan Demos
 
GTC 2016 Taiwan General
GTC 2016 Taiwan GeneralGTC 2016 Taiwan General
GTC 2016 Taiwan General
 
ORB SLAM Proposal for NTU GPU Programming Course 2016
ORB SLAM Proposal for NTU GPU Programming Course 2016ORB SLAM Proposal for NTU GPU Programming Course 2016
ORB SLAM Proposal for NTU GPU Programming Course 2016
 
Graph-powered Machine Learning at Google @ Google Blog
Graph-powered Machine Learning at Google @ Google BlogGraph-powered Machine Learning at Google @ Google Blog
Graph-powered Machine Learning at Google @ Google Blog
 

Recently uploaded

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 

Recently uploaded (20)

WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - Kanchana
 
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
 
WSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration ToolingWSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration Tooling
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
 
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
 
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million PeopleWSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 

Few Things about Mobile GPU