goal: split compiler llvm llvm – dresc bytecode staticdeployment time optimized architecture...

Post on 31-Mar-2015

219 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Goal: Split Compiler

LLVM LLVM – DRESCbytecode

static deployment time

optimized architecture description

compiler strategy

ML

annotations

C code ADRES executable

ADRES

• Two functional views/operation modes

• Features heterogeneous FUs, local RFs, direct connections between FUs

• Reconfigurable every cycle

• Tightly coupled to control processor

IMEC ADRES CGRA Coarse-Grained Reconfigurable Array

What does the DRESC scheduler do?

Scheduling Phases

1. Determining the clusters2. Recurrence Cluster Scheduling3. Non-recurrence Cluster Scheduling

1. Determining the clusters

1

2

3 4

2. Recurrence Cluster Scheduling

I. Schedule incoming tree of cluster

II. Schedule recurrence cluster

2.I Schedule incoming tree of cluster

1

2

3

2.II Schedule recurrence cluster

• All recurrence clusters are scheduled in a reverse manner

3

1

2

3. Schedule Remaining Nodes

4

4. Failure? Backtracking

5. A more complex example

2

1

3

4

5

3

4

5

top related