Integer programming approaches to simultaneous scheduling and register

  • Slides: 8
Download presentation
Integer programming approaches to simultaneous scheduling and register allocation on the C 6 X

Integer programming approaches to simultaneous scheduling and register allocation on the C 6 X Andrew Gilpin, Rebecca Hutchinson April 12, 2005

Project Outline • Formulate scheduling as an ILP. • Sanity check formulation using CPLEX

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.

ILP Formulation (examples of basic constraints)

ILP Formulation (examples of basic constraints)

ILP Formulation (examples of dealing with the crosspath)

ILP Formulation (examples of dealing with the crosspath)

Modeling implications in ILP

Modeling implications in ILP

Implementation Progress • Formulation complete, implementation halfway done • Taking advantage of new technology

Implementation Progress • Formulation complete, implementation halfway done • Taking advantage of new technology – Latest version of CPLEX allows “warmstarts” – 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

Proposed evaluation • Compare schedule lengths of our algorithm to schedule sizes from Leuper’s

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

References • Wilken, Liu, and Heffernan. “Optimal Instruction Scheulding Using Integer Programming. ” PLDI

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: TMS 320 C 62 xx CPU and Instruction Set Reference Guide, www. ti. com/sc/c 6 x, 1998