SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
© Imagination Technologies p1
www.imgtec.comApril 2013
It’s all about triangles!
Understanding the GPU in your pocket to
write better code
© Imagination Technologies p2
Introductions
 Who?
 Guillem Vinals Gangolells (guillem.vinalsgangolells@imgtec.com)
 Developer Technology Engineer, PowerVR Graphics
 What?
 It’s all about triangles! Understanding the GPU in your pocket to write better code
© Imagination Technologies p3
Company overview
 Leading silicon, software & cloud IP supplier
 Multimedia: graphics; GPU compute; video; vision
 Communications: demodulation; connectivity; sensors
 Processors: applications CPUs; embedded MCUs
 Cloud: device and user management; services
 Targeting high volume, high growth markets
 Top semis and OEMs for mobile, connected home consumer
automotive and more
 Pure: our strategic product division
 Digital radio, internet connected audio, home automation
 Established technology powerhouse
 Founded 1985; London FTSE 250 (IMG.L); ~1,500 employees
 UK HQ; global operations
Comprehensive IP
portfolio for SoCs
& cloud connectivity
IP business pathfinder
Market maker/driver
© Imagination Technologies p4
www.imgtec.com
A Crash Course in Graphics Architectures
© Imagination Technologies p5
Immediate Mode Renderer (IMR)
 Buffers kept in system memory
 High bandwidth use, power consumption & latency
 Each triangle is processed to completion in submission order
 Wastes processing time and thus power due to “overdraw”
 ‘Early-Z’ techniques help but are only as good as your geometry sorting
© Imagination Technologies p6
Concept: Tiling
 Frame buffer sub-divided into Tiles
 32x32 pixels per tile, for example
 Varies by device
 Geometry is sorted into affected tiles
 Allows each tile to be processed independently
 Small number of fragments per tile
 Allows on-chip memory to be used
© Imagination Technologies p7
Tile Based Renderer (TBR)
 Rasterizing performed per-tile
 Allows the use of fast, on-chip, buffers
 Each triangle is processed to completion in submission order
 Wastes processing time and thus power due to “overdraw”
 ‘Early-Z’ techniques help but are only as good as your geometry sorting
© Imagination Technologies p8
Concept: Deferred Rendering
 Fragments - Two stage process
 Hidden Surface Removal (HSR)
 Shading
 HSR is pixel perfect
 Only visible fragments pass, no ‘overdraw’
 Only requires position data
 Less bandwidth & processing, saves power
 HSR is submission order independent
 No need for applications to submit geometry front to back
© Imagination Technologies p9
Tile Based Deferred Renderer (TBDR) = PowerVR
 Rasterizing performed per-tile
 Allows the use of fast, on-chip, buffers
 Hidden Surface Removal (HSR) reduces overdraw
 Pixel perfect, and submission order independent, no geometry sorting needed
 Optimised to only retrieve information required (*), saving even more bandwidth
 Saves power and bandwidth
© Imagination Technologies p10
www.imgtec.com
PowerVR Hardware Overview
© Imagination Technologies p11
Pipeline Summary
Geometry Processing
© Imagination Technologies p12
Pipeline Summary
Fragment Processing
© Imagination Technologies p13
Bandwidth Saving
 Bandwidth usage is the biggest contributor to GPU power consumption
 Saving bandwidth means staying ‘on chip’ as much as possible
 It also means throwing away work you don’t need to do
 PowerVR is designed from the ground up to do all of these
© Imagination Technologies p14
Unified Architecture
© Imagination Technologies p15
Pixel Back End (PBE)
 Combines sub-samples for on-chip MSAA
 MSAA Performed per-tile
 Done using sub-sampling
 Negligible impact on bandwidth
 Each sub-sample benefits from HSR
 Series5/5XT: 4x MSAA
 Series6: 8x MSAA
 Performs final format conversions
 Up scaling, down scaling etc. (Internal True
Colour)
© Imagination Technologies p16
www.imgtec.com
Further Considerations
© Imagination Technologies p17
Micro Kernel
 Specialised software running on the USSE (Series5) or its own core (Series6)
 Allows the GPU and CPU to operate with minimal synchronisation
 Improves performance by handling interrupts on the GPU
 Competing solutions handle interrupts on CPU (in the driver)
© Imagination Technologies p18
Multicore
 Near linear performance scaling
 Small fixed overhead known at design time
 Geometry processing load-balanced
 Cores share the processing effort
 Tiling enables parallel fragment processing
 Any core can work on any tile when available
 Each tile is self-contained
 Multi-core logic is handled by the hardware
 Completely transparent to the developer
© Imagination Technologies p19
Alpha Blending
 Tiling GPUs don’t need to reach in to system memory to perform an alpha blend
 The colour buffer is on-chip
 This means that alpha blending doesn’t cost you any additional bandwidth
 It also means that alpha blending is fast…very fast
 HSR will also save you some work by throwing away occluded blending work
 Remember: Opaque, Alpha Test, Alpha Blend
© Imagination Technologies p20
www.imgtec.com
Golden Rules
© Imagination Technologies p21
Common Bottlenecks
Based on past observation
Most Likely
CPU Usage
Bandwidth Usage
CPU/GPU Synchronisation
Fragment Shader Instructions
Geometry Upload
Texture Upload
Vertex Shader Instructions
Geometry Complexity
Least Likely
© Imagination Technologies p22
Warning!
Some of these rules may seem obvious to you…
…we still see them broken everyday…
…if you know them, please bear with us
© Imagination Technologies p23
Understand Your Target Device
 No two devices are identical
 Even when they look the same
 Different SoCs will have different bottlenecks
 Make sure you test against different chips
 Make sure you understand the hardware
 You don’t want your optimisation to make things worse
 Clearly, you’re already doing this….your here 
Golden Rule 1
© Imagination Technologies p24
Don’t Waste GPU Time
 The Principle of “Good Enough”
 Don't waste polygons on un-needed detail
 Textures should never be much larger than their size on screen
 Why waste time loading a 1Kx1K texture if it’s never going to appear bigger than 128x128?
 If the user won't notice it, don’t waste time processing it
Golden Rule 2
© Imagination Technologies p25
Promote Calculations up The Chain
 Don’t do a calculation you don’t need to do
 If you can do it once per scene, do it once per scene
 If you can’t, try and do it per vertex
 There are generally fewer vertices in a scene than fragments.
 If you can, pre-bake
 E.g. lighting
 Remember, ‘Good Enough’
Golden Rule 3
© Imagination Technologies p26
Don’t Access an Active Render Target
 Accessing a render target from the CPU is very bad for performance
 If it’s not done properly it will synchronise the GPU and CPU….This is Bad™
Golden Rule 4
© Imagination Technologies p27
Accessing Render Targets Safely
 Use EGL_KHR_fence_sync
 Use CPU side handles to GPU mapped memory to avoid blocking calls
 E.g. GraphicsBuffer (or gralloc) on Android
Golden Rule 4 Cont.
© Imagination Technologies p28
Avoid Updating Active Assets
 Assets may need to stay the same for multiple frames
 We refer to this as an asset’s ‘Lifespan’
Golden Rule 5
 Changing a texture during its lifespan may cause ‘Ghosting’
 Changing a buffer during its lifespan is blocking
 This can be managed using circular buffers, similarly to render targets
© Imagination Technologies p29
Use VBOs and Indexed Geometry
 VBOs benefit from driver level optimisations
 Vertex Array Objects (VAOs) may be even better
 Index your geometry
 It makes your data smaller
 It also benefits from driver level optimisations
 Use static VBOs ideally, and consider the assets lifespan
 Don’t use a VBO for dynamic data
Golden Rule 6
© Imagination Technologies p30
Batch Your Draw Calls
 Group static objects, and draw once
 Static objects are objects that are static relative to each other
 Sort objects by render state
 Emphasis on texture and program state changes
 Try using texture atlases
 Remember Golden Rule 5 if your going to update the contents
Golden Rule 7
© Imagination Technologies p31
Compress Your Textures
 The lower the bitrate the less bandwidth consumed
 Use PVRTC & PVRTC2, at 2 & 4bpp RGB/RGBA
 Don’t confuse this with PNG or JPG which are
decompressed in memory
 Usually to 24bpp or 32bpp
 PVRTC is read directly from the compressed form
 It stays in memory at 2bpp or 4bpp
 Use MIP-Mapping and remember ‘Good Enough’
Golden Rule 8
© Imagination Technologies p32
Alpha Test/Discard & Alpha Blend
 Alpha Test removes advantages of ‘Early-Z’ techniques and HSR
 Fragment visibility isn’t known until fragment shader is run
 Prefer Alpha Blending, and render in the order Opaque, Alpha Test, Alpha Blend
 Makes best use of HSR
Golden Rule 9
© Imagination Technologies p33
Use ‘Clear’ and ‘DiscardFrameBuffer’
 Calling ‘Clear’ ensures the previous render isn’t uploaded to the GPU
 By default, the depth/stencil buffers are written to memory at the end of a render
 Calling DiscardFrameBufferExt(…) ensures these buffers aren’t written to system memory
 Look for the ‘GL_EXT_discard_framebuffer’ extension
Do both if you can!
Golden Rule 10
© Imagination Technologies p34
Questions ?
Or drop us an email: devtech@imgtec.com
Download our PowerVR SDK: bit.ly/PVR_SDK
Also, you can download examples, tools and
shell as an Android SDK add-on:
http://install.powervrinsider.com/androidsdk.xml
© Imagination Technologies p35
www.imgtec.com
April 2013

Más contenido relacionado

La actualidad más candente

PT-4055, Optimizing Raytracing on GCN with AMD Development Tools, by Tzachi C...
PT-4055, Optimizing Raytracing on GCN with AMD Development Tools, by Tzachi C...PT-4055, Optimizing Raytracing on GCN with AMD Development Tools, by Tzachi C...
PT-4055, Optimizing Raytracing on GCN with AMD Development Tools, by Tzachi C...AMD Developer Central
 
[GDC 2012] Enhancing Graphics in Unreal Engine 3 Titles Using AMD Code Submis...
[GDC 2012] Enhancing Graphics in Unreal Engine 3 Titles Using AMD Code Submis...[GDC 2012] Enhancing Graphics in Unreal Engine 3 Titles Using AMD Code Submis...
[GDC 2012] Enhancing Graphics in Unreal Engine 3 Titles Using AMD Code Submis...Owen Wu
 
“An Industry Standard Performance Benchmark Suite for Machine Learning,” a Pr...
“An Industry Standard Performance Benchmark Suite for Machine Learning,” a Pr...“An Industry Standard Performance Benchmark Suite for Machine Learning,” a Pr...
“An Industry Standard Performance Benchmark Suite for Machine Learning,” a Pr...Edge AI and Vision Alliance
 
"Lessons Learned from Bringing Mobile and Embedded Vision Products to Market,...
"Lessons Learned from Bringing Mobile and Embedded Vision Products to Market,..."Lessons Learned from Bringing Mobile and Embedded Vision Products to Market,...
"Lessons Learned from Bringing Mobile and Embedded Vision Products to Market,...Edge AI and Vision Alliance
 
PG-4119, 3D Geometry Compression on GPU, by Jacques Lefaucheux
PG-4119, 3D Geometry Compression on GPU, by Jacques LefaucheuxPG-4119, 3D Geometry Compression on GPU, by Jacques Lefaucheux
PG-4119, 3D Geometry Compression on GPU, by Jacques LefaucheuxAMD Developer Central
 
SE-4128, DRM: From software secrets to hardware protection, by Rod Schultz
SE-4128, DRM: From software secrets to hardware protection, by Rod SchultzSE-4128, DRM: From software secrets to hardware protection, by Rod Schultz
SE-4128, DRM: From software secrets to hardware protection, by Rod SchultzAMD Developer Central
 
MM-4099, Adapting game content to the viewing environment, by Noman Hashim
MM-4099, Adapting game content to the viewing environment, by Noman HashimMM-4099, Adapting game content to the viewing environment, by Noman Hashim
MM-4099, Adapting game content to the viewing environment, by Noman HashimAMD Developer Central
 
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...Intel® Software
 
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...AMD Developer Central
 
Cuda meetup presentation 5
Cuda meetup presentation 5Cuda meetup presentation 5
Cuda meetup presentation 5Rihards Gailums
 
LCU13: GPGPU on ARM Experience Report
LCU13: GPGPU on ARM Experience ReportLCU13: GPGPU on ARM Experience Report
LCU13: GPGPU on ARM Experience ReportLinaro
 
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese..."Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...Edge AI and Vision Alliance
 
WT-4072, Rendering Web Content at 60fps, by Vangelis Kokkevis, Antoine Labour...
WT-4072, Rendering Web Content at 60fps, by Vangelis Kokkevis, Antoine Labour...WT-4072, Rendering Web Content at 60fps, by Vangelis Kokkevis, Antoine Labour...
WT-4072, Rendering Web Content at 60fps, by Vangelis Kokkevis, Antoine Labour...AMD Developer Central
 
Direct3D12 and the Future of Graphics APIs by Dave Oldcorn
Direct3D12 and the Future of Graphics APIs by Dave OldcornDirect3D12 and the Future of Graphics APIs by Dave Oldcorn
Direct3D12 and the Future of Graphics APIs by Dave OldcornAMD Developer Central
 
TressFX The Fast and The Furry by Nicolas Thibieroz
TressFX The Fast and The Furry by Nicolas ThibierozTressFX The Fast and The Furry by Nicolas Thibieroz
TressFX The Fast and The Furry by Nicolas ThibierozAMD Developer Central
 
HC-4022, Towards an Ecosystem for Heterogeneous Parallel Computing, by Wu Feng
HC-4022, Towards an Ecosystem for Heterogeneous Parallel Computing, by Wu FengHC-4022, Towards an Ecosystem for Heterogeneous Parallel Computing, by Wu Feng
HC-4022, Towards an Ecosystem for Heterogeneous Parallel Computing, by Wu FengAMD Developer Central
 
GS-4139, RapidFire for Cloud Gaming, by Dmitry Kozlov
GS-4139, RapidFire for Cloud Gaming, by Dmitry KozlovGS-4139, RapidFire for Cloud Gaming, by Dmitry Kozlov
GS-4139, RapidFire for Cloud Gaming, by Dmitry KozlovAMD Developer Central
 
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...Unity Technologies
 
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...Intel® Software
 

La actualidad más candente (20)

PT-4055, Optimizing Raytracing on GCN with AMD Development Tools, by Tzachi C...
PT-4055, Optimizing Raytracing on GCN with AMD Development Tools, by Tzachi C...PT-4055, Optimizing Raytracing on GCN with AMD Development Tools, by Tzachi C...
PT-4055, Optimizing Raytracing on GCN with AMD Development Tools, by Tzachi C...
 
[GDC 2012] Enhancing Graphics in Unreal Engine 3 Titles Using AMD Code Submis...
[GDC 2012] Enhancing Graphics in Unreal Engine 3 Titles Using AMD Code Submis...[GDC 2012] Enhancing Graphics in Unreal Engine 3 Titles Using AMD Code Submis...
[GDC 2012] Enhancing Graphics in Unreal Engine 3 Titles Using AMD Code Submis...
 
“An Industry Standard Performance Benchmark Suite for Machine Learning,” a Pr...
“An Industry Standard Performance Benchmark Suite for Machine Learning,” a Pr...“An Industry Standard Performance Benchmark Suite for Machine Learning,” a Pr...
“An Industry Standard Performance Benchmark Suite for Machine Learning,” a Pr...
 
"Lessons Learned from Bringing Mobile and Embedded Vision Products to Market,...
"Lessons Learned from Bringing Mobile and Embedded Vision Products to Market,..."Lessons Learned from Bringing Mobile and Embedded Vision Products to Market,...
"Lessons Learned from Bringing Mobile and Embedded Vision Products to Market,...
 
PG-4119, 3D Geometry Compression on GPU, by Jacques Lefaucheux
PG-4119, 3D Geometry Compression on GPU, by Jacques LefaucheuxPG-4119, 3D Geometry Compression on GPU, by Jacques Lefaucheux
PG-4119, 3D Geometry Compression on GPU, by Jacques Lefaucheux
 
SE-4128, DRM: From software secrets to hardware protection, by Rod Schultz
SE-4128, DRM: From software secrets to hardware protection, by Rod SchultzSE-4128, DRM: From software secrets to hardware protection, by Rod Schultz
SE-4128, DRM: From software secrets to hardware protection, by Rod Schultz
 
MM-4099, Adapting game content to the viewing environment, by Noman Hashim
MM-4099, Adapting game content to the viewing environment, by Noman HashimMM-4099, Adapting game content to the viewing environment, by Noman Hashim
MM-4099, Adapting game content to the viewing environment, by Noman Hashim
 
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
Enhance and Accelerate Your AI and Machine Learning Solution | SIGGRAPH 2019 ...
 
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...
HC-4019, "Exploiting Coarse-grained Parallelism in B+ Tree Searches on an APU...
 
Cuda meetup presentation 5
Cuda meetup presentation 5Cuda meetup presentation 5
Cuda meetup presentation 5
 
LCU13: GPGPU on ARM Experience Report
LCU13: GPGPU on ARM Experience ReportLCU13: GPGPU on ARM Experience Report
LCU13: GPGPU on ARM Experience Report
 
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese..."Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
 
WT-4072, Rendering Web Content at 60fps, by Vangelis Kokkevis, Antoine Labour...
WT-4072, Rendering Web Content at 60fps, by Vangelis Kokkevis, Antoine Labour...WT-4072, Rendering Web Content at 60fps, by Vangelis Kokkevis, Antoine Labour...
WT-4072, Rendering Web Content at 60fps, by Vangelis Kokkevis, Antoine Labour...
 
Direct3D12 and the Future of Graphics APIs by Dave Oldcorn
Direct3D12 and the Future of Graphics APIs by Dave OldcornDirect3D12 and the Future of Graphics APIs by Dave Oldcorn
Direct3D12 and the Future of Graphics APIs by Dave Oldcorn
 
Parallel Computing on the GPU
Parallel Computing on the GPUParallel Computing on the GPU
Parallel Computing on the GPU
 
TressFX The Fast and The Furry by Nicolas Thibieroz
TressFX The Fast and The Furry by Nicolas ThibierozTressFX The Fast and The Furry by Nicolas Thibieroz
TressFX The Fast and The Furry by Nicolas Thibieroz
 
HC-4022, Towards an Ecosystem for Heterogeneous Parallel Computing, by Wu Feng
HC-4022, Towards an Ecosystem for Heterogeneous Parallel Computing, by Wu FengHC-4022, Towards an Ecosystem for Heterogeneous Parallel Computing, by Wu Feng
HC-4022, Towards an Ecosystem for Heterogeneous Parallel Computing, by Wu Feng
 
GS-4139, RapidFire for Cloud Gaming, by Dmitry Kozlov
GS-4139, RapidFire for Cloud Gaming, by Dmitry KozlovGS-4139, RapidFire for Cloud Gaming, by Dmitry Kozlov
GS-4139, RapidFire for Cloud Gaming, by Dmitry Kozlov
 
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
 
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
RenderMan*: The Role of Open Shading Language (OSL) with Intel® Advanced Vect...
 

Destacado

La tecnica del eco positivo RECETAS DE MARKETING
La tecnica del eco positivo RECETAS DE MARKETINGLa tecnica del eco positivo RECETAS DE MARKETING
La tecnica del eco positivo RECETAS DE MARKETINGJuan Adsuara
 
Socialmedia and globalrevolution
Socialmedia and globalrevolutionSocialmedia and globalrevolution
Socialmedia and globalrevolutioncarolinasd
 
Les cinc claus d'un escenari perfecte
Les cinc claus d'un escenari perfecteLes cinc claus d'un escenari perfecte
Les cinc claus d'un escenari perfecteSUNDISA
 
Estudio de caso de pcte con dx de varices
Estudio de caso de pcte con dx de varicesEstudio de caso de pcte con dx de varices
Estudio de caso de pcte con dx de varicesISABEL DE LA TORRE
 
saidWot gourmet gallivant celebrity dinner
saidWot gourmet  gallivant celebrity dinnersaidWot gourmet  gallivant celebrity dinner
saidWot gourmet gallivant celebrity dinnersaidWot
 
Klubschule Business Sparte Informatik 2010
Klubschule Business Sparte Informatik 2010Klubschule Business Sparte Informatik 2010
Klubschule Business Sparte Informatik 2010Patrick Gabathuler
 
24 ea 3.10.12-1
24 ea 3.10.12-124 ea 3.10.12-1
24 ea 3.10.12-124iValue
 
Residencial Colegio Siglo XXI
Residencial Colegio Siglo XXIResidencial Colegio Siglo XXI
Residencial Colegio Siglo XXIMariasguirao
 
Comunidades Y Redes Sociales
Comunidades Y Redes SocialesComunidades Y Redes Sociales
Comunidades Y Redes SocialesRicardo Palomino
 
A Multifunctional Aerospace Smart Skin Emerges from Computational Models and ...
A Multifunctional Aerospace Smart Skin Emerges from Computational Models and ...A Multifunctional Aerospace Smart Skin Emerges from Computational Models and ...
A Multifunctional Aerospace Smart Skin Emerges from Computational Models and ...Altair
 
Powering the Future of Healthcare in Asia Pacific | Funding, IP Protection | ...
Powering the Future of Healthcare in Asia Pacific | Funding, IP Protection | ...Powering the Future of Healthcare in Asia Pacific | Funding, IP Protection | ...
Powering the Future of Healthcare in Asia Pacific | Funding, IP Protection | ...Julien de Salaberry
 
Como Utilizar Tu Memoria
Como Utilizar Tu MemoriaComo Utilizar Tu Memoria
Como Utilizar Tu MemoriaMisael Gomez
 
Alcoholic Hepatitis & Hepatorenal Syndrome
Alcoholic Hepatitis & Hepatorenal SyndromeAlcoholic Hepatitis & Hepatorenal Syndrome
Alcoholic Hepatitis & Hepatorenal SyndromeAbdul Hamid Alraiyes
 
Software financiero diapositiva
Software financiero diapositivaSoftware financiero diapositiva
Software financiero diapositivajonathangrief
 

Destacado (20)

La tecnica del eco positivo RECETAS DE MARKETING
La tecnica del eco positivo RECETAS DE MARKETINGLa tecnica del eco positivo RECETAS DE MARKETING
La tecnica del eco positivo RECETAS DE MARKETING
 
Socialmedia and globalrevolution
Socialmedia and globalrevolutionSocialmedia and globalrevolution
Socialmedia and globalrevolution
 
Formas de ayudar a nuestros hijos a usar los medios
Formas de ayudar a nuestros hijos a usar los mediosFormas de ayudar a nuestros hijos a usar los medios
Formas de ayudar a nuestros hijos a usar los medios
 
Les cinc claus d'un escenari perfecte
Les cinc claus d'un escenari perfecteLes cinc claus d'un escenari perfecte
Les cinc claus d'un escenari perfecte
 
Content serversida
Content serversidaContent serversida
Content serversida
 
Presentac..
Presentac..Presentac..
Presentac..
 
Estudio de caso de pcte con dx de varices
Estudio de caso de pcte con dx de varicesEstudio de caso de pcte con dx de varices
Estudio de caso de pcte con dx de varices
 
saidWot gourmet gallivant celebrity dinner
saidWot gourmet  gallivant celebrity dinnersaidWot gourmet  gallivant celebrity dinner
saidWot gourmet gallivant celebrity dinner
 
Klubschule Business Sparte Informatik 2010
Klubschule Business Sparte Informatik 2010Klubschule Business Sparte Informatik 2010
Klubschule Business Sparte Informatik 2010
 
24 ea 3.10.12-1
24 ea 3.10.12-124 ea 3.10.12-1
24 ea 3.10.12-1
 
Residencial Colegio Siglo XXI
Residencial Colegio Siglo XXIResidencial Colegio Siglo XXI
Residencial Colegio Siglo XXI
 
Comunidades Y Redes Sociales
Comunidades Y Redes SocialesComunidades Y Redes Sociales
Comunidades Y Redes Sociales
 
Propuestalectoescritura
PropuestalectoescrituraPropuestalectoescritura
Propuestalectoescritura
 
El antivirus gratis
El antivirus gratisEl antivirus gratis
El antivirus gratis
 
A Multifunctional Aerospace Smart Skin Emerges from Computational Models and ...
A Multifunctional Aerospace Smart Skin Emerges from Computational Models and ...A Multifunctional Aerospace Smart Skin Emerges from Computational Models and ...
A Multifunctional Aerospace Smart Skin Emerges from Computational Models and ...
 
Toluca ffcc final
Toluca ffcc finalToluca ffcc final
Toluca ffcc final
 
Powering the Future of Healthcare in Asia Pacific | Funding, IP Protection | ...
Powering the Future of Healthcare in Asia Pacific | Funding, IP Protection | ...Powering the Future of Healthcare in Asia Pacific | Funding, IP Protection | ...
Powering the Future of Healthcare in Asia Pacific | Funding, IP Protection | ...
 
Como Utilizar Tu Memoria
Como Utilizar Tu MemoriaComo Utilizar Tu Memoria
Como Utilizar Tu Memoria
 
Alcoholic Hepatitis & Hepatorenal Syndrome
Alcoholic Hepatitis & Hepatorenal SyndromeAlcoholic Hepatitis & Hepatorenal Syndrome
Alcoholic Hepatitis & Hepatorenal Syndrome
 
Software financiero diapositiva
Software financiero diapositivaSoftware financiero diapositiva
Software financiero diapositiva
 

Similar a Droidcon2013 triangles gangolells_imagination

Hai Tao at AI Frontiers: Deep Learning For Embedded Vision System
Hai Tao at AI Frontiers: Deep Learning For Embedded Vision SystemHai Tao at AI Frontiers: Deep Learning For Embedded Vision System
Hai Tao at AI Frontiers: Deep Learning For Embedded Vision SystemAI Frontiers
 
11 Synchoricity as the basis for going Beyond Moore
11 Synchoricity as the basis for going Beyond Moore11 Synchoricity as the basis for going Beyond Moore
11 Synchoricity as the basis for going Beyond MooreRCCSRENKEI
 
Its All About 10 GigE Vision!
Its All About 10 GigE Vision!Its All About 10 GigE Vision!
Its All About 10 GigE Vision!marrysmithevt
 
[Unity Forum 2019] Mobile Graphics Optimization Guides
[Unity Forum 2019] Mobile Graphics Optimization Guides[Unity Forum 2019] Mobile Graphics Optimization Guides
[Unity Forum 2019] Mobile Graphics Optimization GuidesOwen Wu
 
DevOps Fest 2020. Pavlo Repalo. Edge Computing: Appliance and Challanges
DevOps Fest 2020. Pavlo Repalo. Edge Computing: Appliance and ChallangesDevOps Fest 2020. Pavlo Repalo. Edge Computing: Appliance and Challanges
DevOps Fest 2020. Pavlo Repalo. Edge Computing: Appliance and ChallangesDevOps_Fest
 
Nervana and the Future of Computing
Nervana and the Future of ComputingNervana and the Future of Computing
Nervana and the Future of ComputingIntel Nervana
 
AWE Tel Aviv Startup Pitch: Dor Zepeniuk with Inuitive
AWE Tel Aviv Startup Pitch: Dor Zepeniuk with InuitiveAWE Tel Aviv Startup Pitch: Dor Zepeniuk with Inuitive
AWE Tel Aviv Startup Pitch: Dor Zepeniuk with InuitiveAugmentedWorldExpo
 
“Enabling Ultra-low Power Edge Inference and On-device Learning with Akida,” ...
“Enabling Ultra-low Power Edge Inference and On-device Learning with Akida,” ...“Enabling Ultra-low Power Edge Inference and On-device Learning with Akida,” ...
“Enabling Ultra-low Power Edge Inference and On-device Learning with Akida,” ...Edge AI and Vision Alliance
 
OSMC 2014: Naemon 1, 2, 3, N | Andreas Ericsson
OSMC 2014: Naemon 1, 2, 3, N | Andreas EricssonOSMC 2014: Naemon 1, 2, 3, N | Andreas Ericsson
OSMC 2014: Naemon 1, 2, 3, N | Andreas EricssonNETWAYS
 
AWS 기반 실시간 서비스 개발 및 운영 사례 - AWS Summit Seoul 2017
AWS 기반 실시간 서비스 개발 및 운영 사례 - AWS Summit Seoul 2017AWS 기반 실시간 서비스 개발 및 운영 사례 - AWS Summit Seoul 2017
AWS 기반 실시간 서비스 개발 및 운영 사례 - AWS Summit Seoul 2017Amazon Web Services Korea
 
Accelerating Data Science With GPUs
Accelerating Data Science With GPUsAccelerating Data Science With GPUs
Accelerating Data Science With GPUsiguazio
 
Backend.AI Technical Introduction (19.09 / 2019 Autumn)
Backend.AI Technical Introduction (19.09 / 2019 Autumn)Backend.AI Technical Introduction (19.09 / 2019 Autumn)
Backend.AI Technical Introduction (19.09 / 2019 Autumn)Lablup Inc.
 
Predictive Maintenance - Portland Machine Learning Meetup
Predictive Maintenance - Portland Machine Learning MeetupPredictive Maintenance - Portland Machine Learning Meetup
Predictive Maintenance - Portland Machine Learning MeetupIan Downard
 
[TGDF 2019] Mali GPU Architecture and Mobile Studio
[TGDF 2019] Mali GPU Architecture and Mobile Studio[TGDF 2019] Mali GPU Architecture and Mobile Studio
[TGDF 2019] Mali GPU Architecture and Mobile StudioOwen Wu
 
GPU - An Introduction
GPU - An IntroductionGPU - An Introduction
GPU - An IntroductionDhan V Sagar
 
“COVID-19 Safe Distancing Measures in Public Spaces with Edge AI,” a Presenta...
“COVID-19 Safe Distancing Measures in Public Spaces with Edge AI,” a Presenta...“COVID-19 Safe Distancing Measures in Public Spaces with Edge AI,” a Presenta...
“COVID-19 Safe Distancing Measures in Public Spaces with Edge AI,” a Presenta...Edge AI and Vision Alliance
 
Web cast-a day-in_the_life_of_a_hsd_nov_5th_2012_final_al_hamdu_ll_allah__hsd...
Web cast-a day-in_the_life_of_a_hsd_nov_5th_2012_final_al_hamdu_ll_allah__hsd...Web cast-a day-in_the_life_of_a_hsd_nov_5th_2012_final_al_hamdu_ll_allah__hsd...
Web cast-a day-in_the_life_of_a_hsd_nov_5th_2012_final_al_hamdu_ll_allah__hsd...Hany Fahmy
 
Graphics processing unit ppt
Graphics processing unit pptGraphics processing unit ppt
Graphics processing unit pptSandeep Singh
 

Similar a Droidcon2013 triangles gangolells_imagination (20)

Hai Tao at AI Frontiers: Deep Learning For Embedded Vision System
Hai Tao at AI Frontiers: Deep Learning For Embedded Vision SystemHai Tao at AI Frontiers: Deep Learning For Embedded Vision System
Hai Tao at AI Frontiers: Deep Learning For Embedded Vision System
 
11 Synchoricity as the basis for going Beyond Moore
11 Synchoricity as the basis for going Beyond Moore11 Synchoricity as the basis for going Beyond Moore
11 Synchoricity as the basis for going Beyond Moore
 
E3MV - Embedded Vision - Sundance
E3MV - Embedded Vision - SundanceE3MV - Embedded Vision - Sundance
E3MV - Embedded Vision - Sundance
 
Its All About 10 GigE Vision!
Its All About 10 GigE Vision!Its All About 10 GigE Vision!
Its All About 10 GigE Vision!
 
[Unity Forum 2019] Mobile Graphics Optimization Guides
[Unity Forum 2019] Mobile Graphics Optimization Guides[Unity Forum 2019] Mobile Graphics Optimization Guides
[Unity Forum 2019] Mobile Graphics Optimization Guides
 
DevOps Fest 2020. Pavlo Repalo. Edge Computing: Appliance and Challanges
DevOps Fest 2020. Pavlo Repalo. Edge Computing: Appliance and ChallangesDevOps Fest 2020. Pavlo Repalo. Edge Computing: Appliance and Challanges
DevOps Fest 2020. Pavlo Repalo. Edge Computing: Appliance and Challanges
 
Nervana and the Future of Computing
Nervana and the Future of ComputingNervana and the Future of Computing
Nervana and the Future of Computing
 
Imaging on embedded GPUs
Imaging on embedded GPUsImaging on embedded GPUs
Imaging on embedded GPUs
 
AWE Tel Aviv Startup Pitch: Dor Zepeniuk with Inuitive
AWE Tel Aviv Startup Pitch: Dor Zepeniuk with InuitiveAWE Tel Aviv Startup Pitch: Dor Zepeniuk with Inuitive
AWE Tel Aviv Startup Pitch: Dor Zepeniuk with Inuitive
 
“Enabling Ultra-low Power Edge Inference and On-device Learning with Akida,” ...
“Enabling Ultra-low Power Edge Inference and On-device Learning with Akida,” ...“Enabling Ultra-low Power Edge Inference and On-device Learning with Akida,” ...
“Enabling Ultra-low Power Edge Inference and On-device Learning with Akida,” ...
 
OSMC 2014: Naemon 1, 2, 3, N | Andreas Ericsson
OSMC 2014: Naemon 1, 2, 3, N | Andreas EricssonOSMC 2014: Naemon 1, 2, 3, N | Andreas Ericsson
OSMC 2014: Naemon 1, 2, 3, N | Andreas Ericsson
 
AWS 기반 실시간 서비스 개발 및 운영 사례 - AWS Summit Seoul 2017
AWS 기반 실시간 서비스 개발 및 운영 사례 - AWS Summit Seoul 2017AWS 기반 실시간 서비스 개발 및 운영 사례 - AWS Summit Seoul 2017
AWS 기반 실시간 서비스 개발 및 운영 사례 - AWS Summit Seoul 2017
 
Accelerating Data Science With GPUs
Accelerating Data Science With GPUsAccelerating Data Science With GPUs
Accelerating Data Science With GPUs
 
Backend.AI Technical Introduction (19.09 / 2019 Autumn)
Backend.AI Technical Introduction (19.09 / 2019 Autumn)Backend.AI Technical Introduction (19.09 / 2019 Autumn)
Backend.AI Technical Introduction (19.09 / 2019 Autumn)
 
Predictive Maintenance - Portland Machine Learning Meetup
Predictive Maintenance - Portland Machine Learning MeetupPredictive Maintenance - Portland Machine Learning Meetup
Predictive Maintenance - Portland Machine Learning Meetup
 
[TGDF 2019] Mali GPU Architecture and Mobile Studio
[TGDF 2019] Mali GPU Architecture and Mobile Studio[TGDF 2019] Mali GPU Architecture and Mobile Studio
[TGDF 2019] Mali GPU Architecture and Mobile Studio
 
GPU - An Introduction
GPU - An IntroductionGPU - An Introduction
GPU - An Introduction
 
“COVID-19 Safe Distancing Measures in Public Spaces with Edge AI,” a Presenta...
“COVID-19 Safe Distancing Measures in Public Spaces with Edge AI,” a Presenta...“COVID-19 Safe Distancing Measures in Public Spaces with Edge AI,” a Presenta...
“COVID-19 Safe Distancing Measures in Public Spaces with Edge AI,” a Presenta...
 
Web cast-a day-in_the_life_of_a_hsd_nov_5th_2012_final_al_hamdu_ll_allah__hsd...
Web cast-a day-in_the_life_of_a_hsd_nov_5th_2012_final_al_hamdu_ll_allah__hsd...Web cast-a day-in_the_life_of_a_hsd_nov_5th_2012_final_al_hamdu_ll_allah__hsd...
Web cast-a day-in_the_life_of_a_hsd_nov_5th_2012_final_al_hamdu_ll_allah__hsd...
 
Graphics processing unit ppt
Graphics processing unit pptGraphics processing unit ppt
Graphics processing unit ppt
 

Más de Droidcon Berlin

Droidcon de 2014 google cast
Droidcon de 2014   google castDroidcon de 2014   google cast
Droidcon de 2014 google castDroidcon Berlin
 
Android programming -_pushing_the_limits
Android programming -_pushing_the_limitsAndroid programming -_pushing_the_limits
Android programming -_pushing_the_limitsDroidcon Berlin
 
Android industrial mobility
Android industrial mobility Android industrial mobility
Android industrial mobility Droidcon Berlin
 
From sensor data_to_android_and_back
From sensor data_to_android_and_backFrom sensor data_to_android_and_back
From sensor data_to_android_and_backDroidcon Berlin
 
new_age_graphics_android_x86
new_age_graphics_android_x86new_age_graphics_android_x86
new_age_graphics_android_x86Droidcon Berlin
 
Testing and Building Android
Testing and Building AndroidTesting and Building Android
Testing and Building AndroidDroidcon Berlin
 
Matchinguu droidcon presentation
Matchinguu droidcon presentationMatchinguu droidcon presentation
Matchinguu droidcon presentationDroidcon Berlin
 
Cgm life sdk_droidcon_2014_v3
Cgm life sdk_droidcon_2014_v3Cgm life sdk_droidcon_2014_v3
Cgm life sdk_droidcon_2014_v3Droidcon Berlin
 
The artofcalabash peterkrauss
The artofcalabash peterkraussThe artofcalabash peterkrauss
The artofcalabash peterkraussDroidcon Berlin
 
Raesch, gries droidcon 2014
Raesch, gries   droidcon 2014Raesch, gries   droidcon 2014
Raesch, gries droidcon 2014Droidcon Berlin
 
Android open gl2_droidcon_2014
Android open gl2_droidcon_2014Android open gl2_droidcon_2014
Android open gl2_droidcon_2014Droidcon Berlin
 
20140508 quantified self droidcon
20140508 quantified self droidcon20140508 quantified self droidcon
20140508 quantified self droidconDroidcon Berlin
 
Tuning android for low ram devices
Tuning android for low ram devicesTuning android for low ram devices
Tuning android for low ram devicesDroidcon Berlin
 
Froyo to kit kat two years developing & maintaining deliradio
Froyo to kit kat   two years developing & maintaining deliradioFroyo to kit kat   two years developing & maintaining deliradio
Froyo to kit kat two years developing & maintaining deliradioDroidcon Berlin
 
Droidcon2013 security genes_trendmicro
Droidcon2013 security genes_trendmicroDroidcon2013 security genes_trendmicro
Droidcon2013 security genes_trendmicroDroidcon Berlin
 

Más de Droidcon Berlin (20)

Droidcon de 2014 google cast
Droidcon de 2014   google castDroidcon de 2014   google cast
Droidcon de 2014 google cast
 
Android programming -_pushing_the_limits
Android programming -_pushing_the_limitsAndroid programming -_pushing_the_limits
Android programming -_pushing_the_limits
 
crashing in style
crashing in stylecrashing in style
crashing in style
 
Raspberry Pi
Raspberry PiRaspberry Pi
Raspberry Pi
 
Android industrial mobility
Android industrial mobility Android industrial mobility
Android industrial mobility
 
Details matter in ux
Details matter in uxDetails matter in ux
Details matter in ux
 
From sensor data_to_android_and_back
From sensor data_to_android_and_backFrom sensor data_to_android_and_back
From sensor data_to_android_and_back
 
droidparts
droidpartsdroidparts
droidparts
 
new_age_graphics_android_x86
new_age_graphics_android_x86new_age_graphics_android_x86
new_age_graphics_android_x86
 
5 tips of monetization
5 tips of monetization5 tips of monetization
5 tips of monetization
 
Testing and Building Android
Testing and Building AndroidTesting and Building Android
Testing and Building Android
 
Matchinguu droidcon presentation
Matchinguu droidcon presentationMatchinguu droidcon presentation
Matchinguu droidcon presentation
 
Cgm life sdk_droidcon_2014_v3
Cgm life sdk_droidcon_2014_v3Cgm life sdk_droidcon_2014_v3
Cgm life sdk_droidcon_2014_v3
 
The artofcalabash peterkrauss
The artofcalabash peterkraussThe artofcalabash peterkrauss
The artofcalabash peterkrauss
 
Raesch, gries droidcon 2014
Raesch, gries   droidcon 2014Raesch, gries   droidcon 2014
Raesch, gries droidcon 2014
 
Android open gl2_droidcon_2014
Android open gl2_droidcon_2014Android open gl2_droidcon_2014
Android open gl2_droidcon_2014
 
20140508 quantified self droidcon
20140508 quantified self droidcon20140508 quantified self droidcon
20140508 quantified self droidcon
 
Tuning android for low ram devices
Tuning android for low ram devicesTuning android for low ram devices
Tuning android for low ram devices
 
Froyo to kit kat two years developing & maintaining deliradio
Froyo to kit kat   two years developing & maintaining deliradioFroyo to kit kat   two years developing & maintaining deliradio
Froyo to kit kat two years developing & maintaining deliradio
 
Droidcon2013 security genes_trendmicro
Droidcon2013 security genes_trendmicroDroidcon2013 security genes_trendmicro
Droidcon2013 security genes_trendmicro
 

Último

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Último (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 

Droidcon2013 triangles gangolells_imagination

  • 1. © Imagination Technologies p1 www.imgtec.comApril 2013 It’s all about triangles! Understanding the GPU in your pocket to write better code
  • 2. © Imagination Technologies p2 Introductions  Who?  Guillem Vinals Gangolells (guillem.vinalsgangolells@imgtec.com)  Developer Technology Engineer, PowerVR Graphics  What?  It’s all about triangles! Understanding the GPU in your pocket to write better code
  • 3. © Imagination Technologies p3 Company overview  Leading silicon, software & cloud IP supplier  Multimedia: graphics; GPU compute; video; vision  Communications: demodulation; connectivity; sensors  Processors: applications CPUs; embedded MCUs  Cloud: device and user management; services  Targeting high volume, high growth markets  Top semis and OEMs for mobile, connected home consumer automotive and more  Pure: our strategic product division  Digital radio, internet connected audio, home automation  Established technology powerhouse  Founded 1985; London FTSE 250 (IMG.L); ~1,500 employees  UK HQ; global operations Comprehensive IP portfolio for SoCs & cloud connectivity IP business pathfinder Market maker/driver
  • 4. © Imagination Technologies p4 www.imgtec.com A Crash Course in Graphics Architectures
  • 5. © Imagination Technologies p5 Immediate Mode Renderer (IMR)  Buffers kept in system memory  High bandwidth use, power consumption & latency  Each triangle is processed to completion in submission order  Wastes processing time and thus power due to “overdraw”  ‘Early-Z’ techniques help but are only as good as your geometry sorting
  • 6. © Imagination Technologies p6 Concept: Tiling  Frame buffer sub-divided into Tiles  32x32 pixels per tile, for example  Varies by device  Geometry is sorted into affected tiles  Allows each tile to be processed independently  Small number of fragments per tile  Allows on-chip memory to be used
  • 7. © Imagination Technologies p7 Tile Based Renderer (TBR)  Rasterizing performed per-tile  Allows the use of fast, on-chip, buffers  Each triangle is processed to completion in submission order  Wastes processing time and thus power due to “overdraw”  ‘Early-Z’ techniques help but are only as good as your geometry sorting
  • 8. © Imagination Technologies p8 Concept: Deferred Rendering  Fragments - Two stage process  Hidden Surface Removal (HSR)  Shading  HSR is pixel perfect  Only visible fragments pass, no ‘overdraw’  Only requires position data  Less bandwidth & processing, saves power  HSR is submission order independent  No need for applications to submit geometry front to back
  • 9. © Imagination Technologies p9 Tile Based Deferred Renderer (TBDR) = PowerVR  Rasterizing performed per-tile  Allows the use of fast, on-chip, buffers  Hidden Surface Removal (HSR) reduces overdraw  Pixel perfect, and submission order independent, no geometry sorting needed  Optimised to only retrieve information required (*), saving even more bandwidth  Saves power and bandwidth
  • 10. © Imagination Technologies p10 www.imgtec.com PowerVR Hardware Overview
  • 11. © Imagination Technologies p11 Pipeline Summary Geometry Processing
  • 12. © Imagination Technologies p12 Pipeline Summary Fragment Processing
  • 13. © Imagination Technologies p13 Bandwidth Saving  Bandwidth usage is the biggest contributor to GPU power consumption  Saving bandwidth means staying ‘on chip’ as much as possible  It also means throwing away work you don’t need to do  PowerVR is designed from the ground up to do all of these
  • 14. © Imagination Technologies p14 Unified Architecture
  • 15. © Imagination Technologies p15 Pixel Back End (PBE)  Combines sub-samples for on-chip MSAA  MSAA Performed per-tile  Done using sub-sampling  Negligible impact on bandwidth  Each sub-sample benefits from HSR  Series5/5XT: 4x MSAA  Series6: 8x MSAA  Performs final format conversions  Up scaling, down scaling etc. (Internal True Colour)
  • 16. © Imagination Technologies p16 www.imgtec.com Further Considerations
  • 17. © Imagination Technologies p17 Micro Kernel  Specialised software running on the USSE (Series5) or its own core (Series6)  Allows the GPU and CPU to operate with minimal synchronisation  Improves performance by handling interrupts on the GPU  Competing solutions handle interrupts on CPU (in the driver)
  • 18. © Imagination Technologies p18 Multicore  Near linear performance scaling  Small fixed overhead known at design time  Geometry processing load-balanced  Cores share the processing effort  Tiling enables parallel fragment processing  Any core can work on any tile when available  Each tile is self-contained  Multi-core logic is handled by the hardware  Completely transparent to the developer
  • 19. © Imagination Technologies p19 Alpha Blending  Tiling GPUs don’t need to reach in to system memory to perform an alpha blend  The colour buffer is on-chip  This means that alpha blending doesn’t cost you any additional bandwidth  It also means that alpha blending is fast…very fast  HSR will also save you some work by throwing away occluded blending work  Remember: Opaque, Alpha Test, Alpha Blend
  • 20. © Imagination Technologies p20 www.imgtec.com Golden Rules
  • 21. © Imagination Technologies p21 Common Bottlenecks Based on past observation Most Likely CPU Usage Bandwidth Usage CPU/GPU Synchronisation Fragment Shader Instructions Geometry Upload Texture Upload Vertex Shader Instructions Geometry Complexity Least Likely
  • 22. © Imagination Technologies p22 Warning! Some of these rules may seem obvious to you… …we still see them broken everyday… …if you know them, please bear with us
  • 23. © Imagination Technologies p23 Understand Your Target Device  No two devices are identical  Even when they look the same  Different SoCs will have different bottlenecks  Make sure you test against different chips  Make sure you understand the hardware  You don’t want your optimisation to make things worse  Clearly, you’re already doing this….your here  Golden Rule 1
  • 24. © Imagination Technologies p24 Don’t Waste GPU Time  The Principle of “Good Enough”  Don't waste polygons on un-needed detail  Textures should never be much larger than their size on screen  Why waste time loading a 1Kx1K texture if it’s never going to appear bigger than 128x128?  If the user won't notice it, don’t waste time processing it Golden Rule 2
  • 25. © Imagination Technologies p25 Promote Calculations up The Chain  Don’t do a calculation you don’t need to do  If you can do it once per scene, do it once per scene  If you can’t, try and do it per vertex  There are generally fewer vertices in a scene than fragments.  If you can, pre-bake  E.g. lighting  Remember, ‘Good Enough’ Golden Rule 3
  • 26. © Imagination Technologies p26 Don’t Access an Active Render Target  Accessing a render target from the CPU is very bad for performance  If it’s not done properly it will synchronise the GPU and CPU….This is Bad™ Golden Rule 4
  • 27. © Imagination Technologies p27 Accessing Render Targets Safely  Use EGL_KHR_fence_sync  Use CPU side handles to GPU mapped memory to avoid blocking calls  E.g. GraphicsBuffer (or gralloc) on Android Golden Rule 4 Cont.
  • 28. © Imagination Technologies p28 Avoid Updating Active Assets  Assets may need to stay the same for multiple frames  We refer to this as an asset’s ‘Lifespan’ Golden Rule 5  Changing a texture during its lifespan may cause ‘Ghosting’  Changing a buffer during its lifespan is blocking  This can be managed using circular buffers, similarly to render targets
  • 29. © Imagination Technologies p29 Use VBOs and Indexed Geometry  VBOs benefit from driver level optimisations  Vertex Array Objects (VAOs) may be even better  Index your geometry  It makes your data smaller  It also benefits from driver level optimisations  Use static VBOs ideally, and consider the assets lifespan  Don’t use a VBO for dynamic data Golden Rule 6
  • 30. © Imagination Technologies p30 Batch Your Draw Calls  Group static objects, and draw once  Static objects are objects that are static relative to each other  Sort objects by render state  Emphasis on texture and program state changes  Try using texture atlases  Remember Golden Rule 5 if your going to update the contents Golden Rule 7
  • 31. © Imagination Technologies p31 Compress Your Textures  The lower the bitrate the less bandwidth consumed  Use PVRTC & PVRTC2, at 2 & 4bpp RGB/RGBA  Don’t confuse this with PNG or JPG which are decompressed in memory  Usually to 24bpp or 32bpp  PVRTC is read directly from the compressed form  It stays in memory at 2bpp or 4bpp  Use MIP-Mapping and remember ‘Good Enough’ Golden Rule 8
  • 32. © Imagination Technologies p32 Alpha Test/Discard & Alpha Blend  Alpha Test removes advantages of ‘Early-Z’ techniques and HSR  Fragment visibility isn’t known until fragment shader is run  Prefer Alpha Blending, and render in the order Opaque, Alpha Test, Alpha Blend  Makes best use of HSR Golden Rule 9
  • 33. © Imagination Technologies p33 Use ‘Clear’ and ‘DiscardFrameBuffer’  Calling ‘Clear’ ensures the previous render isn’t uploaded to the GPU  By default, the depth/stencil buffers are written to memory at the end of a render  Calling DiscardFrameBufferExt(…) ensures these buffers aren’t written to system memory  Look for the ‘GL_EXT_discard_framebuffer’ extension Do both if you can! Golden Rule 10
  • 34. © Imagination Technologies p34 Questions ? Or drop us an email: devtech@imgtec.com Download our PowerVR SDK: bit.ly/PVR_SDK Also, you can download examples, tools and shell as an Android SDK add-on: http://install.powervrinsider.com/androidsdk.xml
  • 35. © Imagination Technologies p35 www.imgtec.com April 2013