EPS Enhanced Pipeline Scheduling Project - PowerPoint PPT Presentation

1 / 5
About This Presentation
Title:

EPS Enhanced Pipeline Scheduling Project

Description:

For a given loop, we just repeat DAG scheduling. When instructions move across ... Made be (backend) invoke EPS. EPS does not touch any loops scheduled by MS ... – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 6
Provided by: sml3
Category:

less

Transcript and Presenter's Notes

Title: EPS Enhanced Pipeline Scheduling Project


1
EPS (Enhanced Pipeline Scheduling) Project
  • EPS is a software pipelining technique based on
    global DAG scheduling
  • For a given loop, we just repeat DAG scheduling
  • When instructions move across the loop back-edge,
    the pipelining effect takes place
    (cross-iteration code motion)
  • This code-motion pipelining is different from
    code-placement pipelining in modulo scheduling
    (MS)
  • MS destroys the original loop and creates a new
    loop

2
Advantage of EPS compared to MS
  • We can software-pipeline ANY loops
  • Loops with arbitrary control flows
  • Loops whose trip counts are not constants
  • e.g., pointer-chasing loops
  • Outer loops
  • Unstructured loops
  • Can achieve tight, variable II for multi-path
    loops
  • Particularly useful for optimizing integer code

3
Global DAG Scheduling in EPS
  • Employs aggressive code motion techniques
  • All-path speculation, combined with unification
  • Allow useful code motion even if no profiling
    information is available
  • Join code motion, renaming, and forward
    substitution
  • e.g., move x1 to block A across all possible
    paths

4
EPS Implementation on Open64
  • We have implemented EPS on Open64-3.0
  • Made be (backend) invoke EPS
  • EPS does not touch any loops scheduled by MS
  • EPS can be complementary to MS
  • EPS and the current GIS (global instruction
    scheduler of Open64-3.0) are collaborating well
  • Often getting the best results when both are
    turned on
  • Initial results are promising
  • 5 improvement in 164.gzip

5
EPS Objectives and Goals
  • Provide the first, open-source version of EPS
  • Performance Goal
  • 4 improvement on SPEC CINT2006 Base
  • Research and evaluate various scheduling issues
  • Exploit speculative loads wisely
  • Since execution of recovery block can be an
    overhead
  • On-demand if-conversion in the middle of code
    motion
  • Rotating register allocation for EPS loops
  • More parallel execution of branches and data
    instructions
  • ..
Write a Comment
User Comments (0)
About PowerShow.com