Register Optimization for Maximum Throughput Loop Pipelining Register Optimization for Maximum Throughput Loop Pipelining
نویسنده
چکیده
UNRET (unrolling and retiming) is an approach for resource-constrained loop pipelining that aims at nding a loop schedule with maximum throughput and minimum register pressure. This paper proposes an algorithm in two phases. In the rst phase, a schedule with maximum throughput is found for a given set of resource constraints. To do this, diierent unrolling degrees are explored in decreasing order of throughput. For each theoretical throughput, both the unrolling degree of the loop and the expected initiation interval of the schedule are analytically computed by using new and eeective methods. In the second phase, the number of registers required by the schedule is reduced while maintining the throughput. The eeectiveness of the proposed approach is shown by presenting results on well-known benchmarks. Results show that UNRET may obtain faster schedules than other approaches, also reducing the register pressure.
منابع مشابه
Maximum Throughput Loop Pipelining with Register Optimization Maximum Throughput Loop Pipelining with Register Optimization
This paper presents UNRET (unrolling and retiming), a new approach for resource-constrained loop pipelining. UNRET aims at nding a loop schedule with maximum throughput and minimum register pressure. UNRET is composed of two main phases. In the rst phase, a schedule with maximum throughput is found for a given set of resource constraints. To do so, diierent unrolling degrees are explored in dec...
متن کاملMaximum-Throughput Software Pipelining
This paper presents UNRET (unrolling and retiming), a resource-constrained software pipelining approach aimed at finding a loop schedule with maximum throughput and minimum register requirements. UNRET works in two phases. First, a pipelined loop schedule with maximum throughput is found for a given set of resources. To do this, different unrolling degrees are explored in decreasing order of ex...
متن کاملDecomposing Meeting Graph Circuits to Minimise Kernel Loop Unrolling
This article studies an important open problem in backend compilation regarding loop unrolling after periodic register allocation. Although software pipelining is a powerful technique to extract fine-grain parallelism, variables can stay alive across more than one kernel iteration, which is challenging for code generation. The classical software solution that does not alter the computation thro...
متن کاملTuning Paxos for High-Throughput with Batching and Pipelining
Paxos is probably the most known state machine replication protocol. Two optimizations that can greatly improve its performance are batching and pipelining. Their effectiveness depends significantly on the system properties, mainly network latency and bandwidth, but also on the CPU speed and properties of the application. This makes it hard to know when and how to use each optimization to achie...
متن کاملRegister Pressure Guided Unroll-and-Jam
Unroll-and-jam is an effective loop optimization that not only improves cache locality and instruction level parallelism (ILP) but also benefits other loop optimizations such as scalar replacement. However, unroll-and-jam increases register pressure, potentially resulting in performance degradation when the increase in register pressure causes register spilling. In this paper, we present a low ...
متن کامل