powervr graphics keynote - rys sommefeldt · 2018. 8. 7. · deferred rasterisation don’t...

23
PowerVR Graphics Keynote Rys Sommefeldt

Upload: others

Post on 02-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

PowerVR Graphics Keynote

Rys Sommefeldt

Page 2: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

PowerVR Rogue Hardware

Page 3: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

3 @PowerVRInsider │ #idc15 facebook.com/imgtec

PowerVR Rogue Recap Optional secondary message

Formally announced at CES 2012

Tile-based deferred renderer

Building on technology proven over 5 previous generations

USC - Universal Shading Cluster

New scalar SIMD shader core

General purpose compute is a first class citizen in the core …

… while not forgetting what makes a shader core great for graphics

Page 4: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

4 @PowerVRInsider │ #idc15 facebook.com/imgtec

TBDR Tile-based

Tile-based

Split each render up into small tiles (32x32 for the most part)

Bin geometry after vertex shading into those tiles

Tile-based rasterisation and pixel shading

Keep all data access for pixel shading on chip

Page 5: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

5 @PowerVRInsider │ #idc15 facebook.com/imgtec

TBDR Deferred

Deferred rasterisation

Don’t actually get the GPU to do any pixel shading straight away

HW support for fully deferred rasterisation and then pixel shading

Rasterisation is pixel accurate

Page 6: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

6 @PowerVRInsider │ #idc15 facebook.com/imgtec

End result

Bandwidth savings across all phases of rendering

Only fetch the geometry needed for the tile

Only process the visible pixels in the tile

Efficient processing

Maximise available computational resources

Do the best the hardware can with bandwidth

Page 7: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

7 @PowerVRInsider │ #idc15 facebook.com/imgtec

Power

Maximising core efficiency

Lighting up the USC less often is always going to be a saving

Minimising bandwidth

Texturing less is a fantastic way to save power

Geometry fetch and binning is often more than 10% of per-frame bandwidth

Saves bandwidth for other parts of your render

Page 8: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

8 @PowerVRInsider │ #idc15 facebook.com/imgtec

Rogue USC Architectural Building Block

Basic building block of the Rogue architecture

Laid out in pairs, with a shared TPU

1, 0.5 and 0.25 USC designs are special

Different balance in the design

Tend to find their way into non-gaming applications

Page 9: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

9 @PowerVRInsider │ #idc15 facebook.com/imgtec

Rogue USC Shader Architecture

16-wide in hardware

32-wide branch granularity

We run half a task/warp per clock

Scalar SIMD

Optimised ALU pipeline

Mix of F32, F16, integer, floating point specials, logic ops

Page 10: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

10 @PowerVRInsider │ #idc15 facebook.com/imgtec

Rogue USC Pipeline datapaths

Configurable in the IP core

F16 paths were sometimes optional, thankfully not any more

F16 paths performance increased significantly after the first generation

Performance in your shader

F32 paths are dual FMAD

F16 paths can do different things per cycle depending on shader

All up to the compiler

ISA is available for you to interrogate though, with disassembling compilers

Page 11: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

11 @PowerVRInsider │ #idc15 facebook.com/imgtec

Rogue USC - Scalar

Hard to understate what a benefit this is

Seems obvious to do, right?

Vector architectures are just hard to program well

Scalar isn’t a free lunch

Makes performance a lot more predictable for you

Page 12: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

13 @PowerVRInsider │ #idc15 facebook.com/imgtec

Rogue USC Programmable output registers

The pixel output registers in the ISA are read/write

One per pixel

Width depends on IP core

We expose it programmatically with Pixel Local Storage

Worked closely with ARM (thanks, Jan-Harald!)

Doesn’t matter that we hate their guts*, still need to make life great for developers

* We don’t really <3

Page 13: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

Evolution Health Warning: Really Bad Diagrams™

Page 14: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

15 @PowerVRInsider │ #idc15 facebook.com/imgtec

Rogue Evolution

Architecture has changed quite a bit over time

Rogue in 2010 still mostly looks like a Rogue today

Significant evolutionary changes across the architecture

Lots of it driven by developers before the IP is baked

Lots of it driven by also analysing your stuff anyway

Page 15: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

Extra low power GFLOPS

Supports both LDR and HDR ASTC

formats

PowerVR Series6XT Rogue

System

Memory

Bus

Vertex Data

Master

Tiling Co-Processor

Compute Data

Master

Pixel Data

Master

Pixel Co-Processor

Unified Shading Cluster Array

Coarse Grain

Scheduler

Host

CPU Bus

Core Mgmt Unit

Control and Register Bus Host CPU Interface

System Memory Interface

System Memory Bus

Texture Unit USC0 USC1

Multi-level Memory Cache Unit (MCU)

2D Core (TLA)

ASTC*

PVRTC

Texture Unit USCn-1 USCn

*

Page 16: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

PowerVR Series6XT Unified Shading Cluster Array PowerVR Series6XT USC

Pipeline

ALU core (FP16)

FLOP

ALU core (FP32)

FLOP FLOP

Special function

FLOP

16 pipelines

ALU core (FP32)

FLOP FLOP

Pip

elin

e

Pip

elin

e

Pip

elin

e

FLOP

ALU core (FP16)

FLOP FLOP

ALU core (FP16)

FLOP FLOP

ALU core (FP16)

FLOP FLOP

8 clusters

USC

Pip

elin

e

Pip

elin

e

Pip

elin

e

USC

Pip

elin

e

Pip

elin

e

Pip

elin

e

Page 17: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

18 @PowerVRInsider │ #idc15 facebook.com/imgtec

Series6 to Series6XT Lots of lessons learned

Improved scheduler

Streamlined ISA

Improved compute task efficiency

Completely new F16 datapath

Improved front-end for sustained geometry performance

ASTC

Page 18: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

PowerVR Series7XT

System

Memory

Bus

Vertex Data

Master

Tiling Co-Processor

Compute Data

Master

Pixel Data

Master

Pixel Co-Processor

Unified Shading Cluster Array

Coarse Grain

Scheduler

Host

CPU Bus

Core Mgmt Unit

Control and Register Bus Host CPU Interface

System Memory Interface

System Memory Bus

Texture Unit USC USC

Multi-level Memory Cache Unit (MCU) 2D Core

(TLA)

ASTC LDR + HDR

PVRTC

Texture Unit USC USC

Extra low power GFLOPS

Tessellation Co-Processor

Page 19: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

PowerVR Series7XT Unified Shading Cluster Array PowerVR Series7XT USC

Pipeline

ALU core (FP16)

FLOP

ALU core (FP32)

FLOP FLOP

Special function

FLOP

16 pipelines

ALU core (FP32)

FLOP FLOP

Pip

elin

e

Pip

elin

e

Pip

elin

e

FLOP

ALU core (FP16)

FLOP FLOP

ALU core (FP16)

FLOP FLOP

ALU core (FP16)

FLOP FLOP

2-16 clusters

USC

Pip

elin

e

Pip

elin

e

Pip

elin

e

USC

Pip

elin

e

Pip

elin

e

Pip

elin

e

ALU core (FP64)

FLOP FLOP

Optional

+

Page 20: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

21 @PowerVRInsider │ #idc15 facebook.com/imgtec

Series6XT to Series7XT Adding features and smoothing off rough edges

Changed how the architecture scales

Improved USC

Streamlined ISA

Features

Hardware tessellation

DX11-compliant USC (precision mainly)

FP64

Page 21: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

22 @PowerVRInsider │ #idc15 facebook.com/imgtec

Into the future

Exciting changes being worked on across the architecture

USC

Front-end

Scaling

Stuff you want!

You can help

We love feedback about the architecture and how it could best fit what you’re doing

Don’t be shy

Page 22: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

Live Long, and Prosper

Page 23: PowerVR Graphics Keynote - Rys Sommefeldt · 2018. 8. 7. · Deferred rasterisation Don’t actually get the GPU to do any pixel shading straight away HW support for fully deferred

www.imgtec.com/idc