2001
DOI: 10.1109/12.910814
|View full text |Cite
|
Sign up to set email alerts
|

Lifetime-sensitive modulo scheduling in a production environment

Abstract: This paper presents a novel software pipelining approach, which is called Swing Modulo Scheduling (SMS). It generates schedules that are near optimal in terms of initiation interval, register requirements, and stage count. Swing Modulo Scheduling is a heuristic approach that has a low computational cost. This paper first describes the technique and evaluates it for the Perfect Club benchmark suite on a generic VLIW architecture. SMS is compared with other heuristic methods, showing that it outperforms them in … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
23
0
1

Year Published

2004
2004
2022
2022

Publication Types

Select...
5
3
1

Relationship

1
8

Authors

Journals

citations
Cited by 50 publications
(24 citation statements)
references
References 33 publications
0
23
0
1
Order By: Relevance
“…Integrated register-sensitive iterative software pipelining (IRIS) [34] modifies the IMS technique to minimize register requirements. Swing modulo scheduling (SMS) [35,36] does not use backtracking but orders graph nodes guarantying effective schedules with low register pressure. The modulo scheduling with integrated register spilling (MIRS) in [37] suggests to integrate the possibility of storing data temporally out to memory (using spill code) when a schedule aims to exceed the number of available registers in the processor.…”
Section: Background On the Modulo Schedulingmentioning
confidence: 99%
See 1 more Smart Citation
“…Integrated register-sensitive iterative software pipelining (IRIS) [34] modifies the IMS technique to minimize register requirements. Swing modulo scheduling (SMS) [35,36] does not use backtracking but orders graph nodes guarantying effective schedules with low register pressure. The modulo scheduling with integrated register spilling (MIRS) in [37] suggests to integrate the possibility of storing data temporally out to memory (using spill code) when a schedule aims to exceed the number of available registers in the processor.…”
Section: Background On the Modulo Schedulingmentioning
confidence: 99%
“…One of the most efficient scheduling heuristic is SMS as evaluated in [32,35,36]. Applying SMS on our FFT problem in the TI C66 core, it produced a schedule of II = MII with a minimum register usage of 20 per core side (40 needed registers), which is greater than the available registers for the DAG allocation, meaning that this is not an implementable schedule.…”
Section: Introductionmentioning
confidence: 99%
“…However, such algorithms usually assume a fixed set of resource constraints [16]- [20], while time-constrained variations [21] are much less frequently used. This is especially true when concerning scheduling for VLIW processors, where scheduling and partitioning are only considered after the hardware has been determined.…”
Section: Previous Research On Parallelism Estimationmentioning
confidence: 99%
“…After computation, this range is scanned and the corresponding instruction heuristically placed either as early or as late as possible, depending on the already scheduled nodes and for the preference of short register lifetimes. Another approach, known as swing scheduling, is presented by Llosa et al as part of a production compiler [15]. The proposed solution adapts an iterative scheme and, similar to slack scheduling, also uses precomputed parameters, such as valid placement slots and mobility values, to assist in scheduling.…”
Section: Introductionmentioning
confidence: 99%