Presentation is loading. Please wait.

Presentation is loading. Please wait.

Integer programming approaches to simultaneous scheduling and register allocation on the C6X Andrew Gilpin, Rebecca Hutchinson April 12, 2005.

Similar presentations


Presentation on theme: "Integer programming approaches to simultaneous scheduling and register allocation on the C6X Andrew Gilpin, Rebecca Hutchinson April 12, 2005."— Presentation transcript:

1 Integer programming approaches to simultaneous scheduling and register allocation on the C6X Andrew Gilpin, Rebecca Hutchinson April 12, 2005

2 Project Outline Formulate scheduling as an ILP. Sanity check formulation using CPLEX to solve. Translate Pegasus format to ILP; translate CPLEX solution back to Pegasus. Formulate and incorporate register allocation into the ILP and translation.

3 ILP Formulation (examples of basic constraints)

4 ILP Formulation (examples of dealing with the crosspath)

5 Modeling implications in ILP

6 Implementation Progress Formulation complete, implementation halfway done Taking advantage of new technology –Latest version of CPLEX allows “warm- starts” –Allows us to use list-scheduling solution to “seed” the ILP, hopefully yielding faster solve times Hopefully we can extend this model to include register allocation as well

7 Proposed evaluation Compare schedule lengths of our algorithm to schedule sizes from Leuper’s algorithm –Test data: functions in test.c Also compare compile times –We expect to be slower, but how much? Compare running times in simulator

8 References Wilken, Liu, and Heffernan. “Optimal Instruction Scheulding Using Integer Programming.” PLDI 2000. Chang, Chen, and King. “Using Integer Linear Programming for Instruction Scheduling and Register Allocation in Multi-issue Processors.” Computers and Mathematics with Applications, Vol 34(9):1-14. Goodwin and Wilken. “Optimal and Near-optimal Global Register Allocation Using 0-1 Integer Programming.” Software-Practice and Experience, Vol 26(8), 929-965, August 1996. Texas Instruments: TMS320C62xx CPU and Instruction Set Reference Guide, www.ti.com/sc/c6x, 1998www.ti.com/sc/c6x


Download ppt "Integer programming approaches to simultaneous scheduling and register allocation on the C6X Andrew Gilpin, Rebecca Hutchinson April 12, 2005."

Similar presentations


Ads by Google