1 / 8

Integer programming approaches to simultaneous scheduling and register allocation on the C6X

Integer programming approaches to simultaneous scheduling and register allocation on the C6X. Andrew Gilpin, Rebecca Hutchinson April 12, 2005. Project Outline. Formulate scheduling as an ILP. Sanity check formulation using CPLEX to solve.

murphye
Download Presentation

Integer programming approaches to simultaneous scheduling and register allocation on the C6X

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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, 1998

More Related