a seminar on 1 . content 2 the stream programming model the stream programming model-ii advantage...

44
A SEMINAR ON 1 www.engineersportal.in

Upload: oswald-rice

Post on 18-Jan-2016

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

A SEMINAR ON

1

www.engineersportal.in

Page 2: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

CONTENT2

The Stream Programming Model

The Stream Programming Model-II

Advantage of Stream Processor

Imagine’s Performance

Implementation on the Stream Processor

www.engineersportal.in

Page 3: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

The Stream Programming Model

Programmable Kernel

Stream 4datadatadatadatadata

Stream 3datadatadatadatadata

Stream 2datadatadatadatadata

Stream 1datadatadatadatadata

The Main Idea

3

www.engineersportal.in

Page 4: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

The Stream Programming Model

Programmable Kernel

Stream 4datadatadatadatadata

Stream 3datadatadatadatadata

Stream 2datadatadatadatadata

Stream 1transformed datatransformed datatransformed datatransformed datatransformed data

The Main Idea

4

www.engineersportal.in

Page 5: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

The Stream Programming Model

Programmable Kernel

Stream 4datadatadatadatadata

Stream 3datadatadatadatadata

Stream 2 data data data data data

Stream 1transformed datatransformed datatransformed datatransformed datatransformed data

The Main Idea

5

www.engineersportal.in

Page 6: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

The Stream Programming Model

Programmable Kernel

Stream 4datadatadatadatadata

Stream 3 data data data data data

Stream 2 data data data data data

Stream 1transformed datatransformed datatransformed datatransformed datatransformed data

The Main Idea

6

www.engineersportal.in

Page 7: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

The Stream Programming Model

Programmable Kernel

Stream 4 data data data data data

Stream 3 data data data data data

Stream 2 data data data data data

Stream 1transformed datatransformed datatransformed datatransformed datatransformed data

The Main Idea

7

www.engineersportal.in

Page 8: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

The Stream Programming Model

Transform

Chaining Kernels Example: The Geometry Stage of the OpenGL Pipeline

InputVertexes

Shade Assemble

CullProjectToward

Rasterization Stage

8

www.engineersportal.in

Page 9: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

The Stream Programming Model

Hardware Implementation: the Imagine Stream Processor

Communicate with host and issueoperations.

9

www.engineersportal.in

Page 10: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

The Stream Programming Model

Hardware Implementation: the Imagine Stream Processor

Transfer databetween parts ofthe chip.

10

www.engineersportal.in

Page 11: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

The Stream Programming Model

Hardware Implementation: the Imagine Stream Processor Local storage and

reuse of intermediatestreams.

11

www.engineersportal.in

Page 12: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

The Stream Programming Model

Hardware Implementation: the Imagine Stream Processor

Store kernel code.

12

www.engineersportal.in

Page 13: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

The Stream Programming Model

Hardware Implementation: the Imagine Stream Processor

Execute one kernel at a time.

13

www.engineersportal.in

Page 14: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

The Stream Programming Model

Hardware Implementation: the Imagine Stream Processor

Connection withother Imagine chips.

14

www.engineersportal.in

Page 15: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Advantages of a Stream Processor

Programmability

Efficient Shading

Example: OpenGL Inefficiency

15

www.engineersportal.in

Page 16: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Advantages of a Stream Processor

Programmability

Efficient Shading

Example: OpenGL Inefficiency

1. Draw the plane.

16

www.engineersportal.in

Page 17: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Advantages of a Stream Processor

Programmability

Efficient Shading

Example: OpenGL Inefficiency

1. Draw the plane.2. Draw the cube.

17

www.engineersportal.in

Page 18: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Advantages of a Stream Processor

Programmability

Efficient Shading

Example: OpenGL Inefficiency

1. Draw the plane.2. Draw the cube.3. Redraw the cube.

18

www.engineersportal.in

Page 19: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Advantages of a Stream Processor

Programmability

Efficient Shading

Example: OpenGL Inefficiency

1. Draw the plane.2. Draw the cube.3. Redraw the cube.

Redraw the complete scene to obtain correct shadow on one object.

19

www.engineersportal.in

Page 20: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Advantages of a Stream Processor

Programmability

Efficient Shading

Hardware Implementation of New API

API Example:

Pixar’s Renderman

(Reyes Image Rendering Architecture)

20

www.engineersportal.in

Page 21: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Advantages of a Stream Processor

Producer - Consumer Locality Capture

Example: OpenGL Pipeline Inefficiency

GeometryStage

RasterizationStage

CompositeStage

Vertexes

21

www.engineersportal.in

Page 22: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Advantages of a Stream Processor

Producer - Consumer Locality Capture

Example: OpenGL Pipeline Inefficiency

GeometryStage

RasterizationStage

CompositeStage

VertexesAssembled Triangles

Fragments Pixels

22

www.engineersportal.in

Page 23: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Advantages of a Stream Processor

Producer - Consumer Locality Capture

Example: OpenGL Pipeline Inefficiency

GeometryStall

RasterizationStage

CompositeStage

VertexesAssembled Triangles

Fragments Pixels

23

www.engineersportal.in

Page 24: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Advantages of a Stream Processor

Producer - Consumer Locality Capture

Example: OpenGL Stream Inplementation

VertexStreams

FragmentStreams

PixelStreams

RasterizationKernels

CompositeKernels

GeometryKernels

Triangle Streams

24

www.engineersportal.in

Page 25: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Advantages of a Stream Processor

Producer - Consumer Locality Capture

Example: OpenGL Stream Inplementation

VertexStreams

FragmentStreams

PixelStreams

RasterizationKernels

CompositeKernels

GeometryKernels

Triangle Streams

25

www.engineersportal.in

Page 26: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Advantages of a Stream Processor

Flexible Resource Allocation

Example: OpenGL Pipeline Inefficiency

GeometryStage

RasterizationStall

CompositeStall

Vertexes

Waste of hardware capacity.

26

www.engineersportal.in

Page 27: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Advantages of a Stream Processor

Flexible Resource Allocation

Example: OpenGL Stream Implementation

VertexStreams

RasterizationKernels

CompositeKernels

GeometryKernels

No waste: kernels are pieces of coderunning on the same hardware!

27

www.engineersportal.in

Page 28: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Advantages of a Stream Processor

Pipeline Reordering

Example: Blending off in the OpenGL Pipeline

Part of Rasterization - Composite Stage

TextureKernel

BlendingKernel

DepthKernel

Fragments

28

www.engineersportal.in

Page 29: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Advantages of a Stream Processor

Pipeline Reordering

Example: Blending off in the OpenGL Pipeline

Part of Rasterization - Composite Stage

TextureKernel

BlendingKernel

DepthKernel

Fragments

Many fragments are needlessly textured

29

www.engineersportal.in

Page 30: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Advantages of a Stream Processor

Pipeline Reordering

Example: Blending off in the OpenGL Pipeline

Part of the Rasterization/Composite Stage

TextureKernel

DepthKernel

Fragments

We can reorder the pipeline.

30

www.engineersportal.in

Page 31: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Advantages of a Stream Processor

Obvious Scalability

Data Level Parallelism

TextureKernel

TextureKernel

TextureKernel

Fragments

31

www.engineersportal.in

Page 32: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Advantages of a Stream Processor

Obvious Scalability

Functional Parallelism

TextureKernel

BlendingKernel

DepthKernel

32

www.engineersportal.in

Page 33: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Imagine’s Performance

That looks great!

33

www.engineersportal.in

Page 34: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Imagine’s Performance

“Interaction between host processor and graphics subsystem not modeled” in Imagine.

“Many hardware-accelerated systems are limited by the bus between the processor and the graphics subsystem”.

34

www.engineersportal.in

Page 35: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Imagine’s Performance

“Imagine clocks rate is also significantly higher (500MHz vs. 120 MHz)”.

35

www.engineersportal.in

Page 36: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Imagine’s Performance36

www.engineersportal.in

Page 37: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Imagine’s Performance

But the comparison is still “instructive”. “Running our tests on commercial systems gives a sens

of relative complexity”.

Frame RateNormalized to the Sphere Test

NVIDIA Quadro and Imagine RelativePerformance

37

www.engineersportal.in

Page 38: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Implementation on the Stream Processor

Frame Speed

FrameComplexity/ Quality

OpenGL Reyes

38

www.engineersportal.in

Page 39: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Implementation on the Stream Processor

Frame Speed

FrameComplexity/ Quality

Enhanced OpenGLImplementation

Degraded ReyesImplementation

39

www.engineersportal.in

Page 40: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Implementation on the Stream Processor

OpenGLImplementation

ReyesImplementation

Isim Simulator Models complete Imagine architecture.

Idebug Simulator Do not model kernel stalls Do not model cluster occupancy effects Increased size of dynamically addressable memory

How to compare the results?

40

www.engineersportal.in

Page 41: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Results41

www.engineersportal.in

Page 42: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

Conclusion

“When comparing graphics algorithms, [the lack of specialization] does make Imagine performance-neutral to the algorithms employed”.

“Our Reyes implementation made slight changes to the simulated Imagine hardware [...] Having a larger [size of addressable memory] was vital for kernel efficiency”.

“Imagine is an appropriate platform for comparing different rendering algorithms toward an eventual goal of high-performance hardware implementation.”

42

www.engineersportal.in

Page 43: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

43

www.engineersportal.in

Page 44: A SEMINAR ON 1 . CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s

?44

www.engineersportal.in