1998
DOI: 10.1109/12.689643
|View full text |Cite
|
Sign up to set email alerts
|

Modulo scheduling with reduced register pressure

Abstract: Abstract-Software pipelining is a scheduling technique that is used by some product compilers in order to expose more instruction level parallelism out of innermost loops. Modulo scheduling refers to a class of algorithms for software pipelining. Most previous research on modulo scheduling has focused on reducing the number of cycles between the initiation of consecutive iterations (which is termed II) but has not considered the effect of the register pressure of the produced schedules. The register pressure i… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
10
0

Year Published

2001
2001
2021
2021

Publication Types

Select...
3
3
2

Relationship

3
5

Authors

Journals

citations
Cited by 16 publications
(10 citation statements)
references
References 31 publications
0
10
0
Order By: Relevance
“…Heuristics that try to avoid register spilling due to overly aggressive software pipelining have been proposed [10,11]. Despite their efforts, the authors describe a range of cases where their heuristics fail to make the best decision.…”
Section: A Recognized Problemmentioning
confidence: 98%
“…Heuristics that try to avoid register spilling due to overly aggressive software pipelining have been proposed [10,11]. Despite their efforts, the authors describe a range of cases where their heuristics fail to make the best decision.…”
Section: A Recognized Problemmentioning
confidence: 98%
“…The performance of scheduling algorithms has been evaluated using randomly generated task graphs [4-6, 15, 17-19, 22-24] or task graphs modelled from a few application programs [6,16,17,[20][21][22][25][26][27]]. However, these task graphs are not typically available to other researchers.…”
Section: Task Graphs For Minimum Execution Time Multiprocessor Schedumentioning
confidence: 99%
“…High register bus pressure caused by inter-cluster communications and high register pressure (i.e., many operands live concurrently) can dramatically increase the Á Á [26]. In this work we look to provide an scheduling approach that addresses all the above issues, exposing instruction-level parallelism while reducing register pressure, register bus pressure, and functional unit pressure.…”
Section: Modulo Schedulingmentioning
confidence: 99%
“…For this reason, many heuristics have been proposed in an attempt to find near-optimal schedules. The objectives of past heuristicbased approaches have had different goals: increasing throughput [20,32], minimizing register pressure [9,8], reducing the effect of the cache misses, or improving several objectives simultaneously [8,19,26,34]. All of these studies focused on modulo scheduling algorithms targeting unified (i.e., non-partitioned) architectures.…”
Section: Related Workmentioning
confidence: 99%