Presentation is loading. Please wait.

Presentation is loading. Please wait.

Fluid Software: Handling Heterogeneous Many-Core for Programmer Productivity Nate Clark.

Similar presentations


Presentation on theme: "Fluid Software: Handling Heterogeneous Many-Core for Programmer Productivity Nate Clark."— Presentation transcript:

1 Fluid Software: Handling Heterogeneous Many-Core for Programmer Productivity Nate Clark

2 2 Heterogeneous Many-Core Need more performance, have many transitors Power limited → Efficiency in designs Domain-specific design/many simpler cores

3 3 The Biggest Problem: Software Parallel programming is hard Heterogeneous programming is hard Forward compatibility Legacy applications I am a frustrated programmer

4 4 What Do We Want: Fluid Software Program adjusts to whatever system has –Many-core/accelerators/whatever Automatic, works on legacy code *.c Compiler *.exe Runtime Optimizer

5 5 What Does This RTO Need to Do? Task Decomposition –Break application into parallelizable pieces Task Mapping –Place them on a processor/accelerator Task Management –Evaluate solution and dynamically adjust

6 6 Task Decomposition Didn’t this fail in the 80’s? –Hard for programmer to reason about programs –Impossible for compiler Dynamic behavior easily predictable –Find probable data/pipeline parallelism *.exe

7 7 MPEG2 Decode Thies et al. 2007 Decode Block SaturateIDCT predict and add block conv420 to422 conv422 to424 store ppm Example dynamically discovered task graph

8 8 Task Mapping Place each task on best processor –Predict most effective processor –Generate code (runtime/quality tradeoff) –Forward compatible Decode Block SaturateIDCT predict and add block conv420 to422 conv422 to424 store ppm FPGACPUGPU

9 9 Task Management Monitor and refine task mapping –What to do when new tasks appear –Understand what’s going on –Scalable control algorithm –Architectural support to help monitoring Decode Block SaturateIDCT predict and add block conv420 to422 conv422 to424 store ppm

10 10 Fluid Software System *.exe A BC D FPGACPUGPU Task Mapper Decompose Task Manager

11 11 Fluid Software Summary RTO adjusts software for any architecture –Task decomposition –Task mapping –Task management Provide feedback to help programmers write better code I’m a happy programme r


Download ppt "Fluid Software: Handling Heterogeneous Many-Core for Programmer Productivity Nate Clark."

Similar presentations


Ads by Google