Affiliation:
1. Utah State Univ., Logan
2. Evans and Sutherland, Salt Lake City, UT
3. DAKCS, Ogden, UT
Abstract
Utilizing parallelism at the instruction level is an important way to improve performance. Because the time spent in loop execution dominates total execution time, a large body of optimizations focuses on decreasing the time to execute each iteration. Software pipelining is a technique that reforms the loop so that a faster execution rate is realized. Iterations are executed in overlapped fashion to increase parallelism.
Let {
ABC
}
n
represent a loop containing operations
A, B, C
that is executed
n
times. Although the operations of a single iteration can be parallelized, more parallelism may be achieved if the entire loop is considered rather than a single iteration. The software pipelining transformation utilizes the fact that a loop {
ABC
}
n
is equivalent to
A
{
BCA
}
n
−1
BC
. Although the operations contained in the loop do not change, the operations are from different iterations of the original loop.
Various algorithms for software pipelining exist. A comparison of the alternative methods for software pipelining is presented. The relationships between the methods are explored and possibilities for improvement highlighted.
Publisher
Association for Computing Machinery (ACM)
Subject
General Computer Science,Theoretical Computer Science
Reference60 articles.
1. AHo A V SETm R AND ULLMAN J D 1988 Compilers. Principles Technzques and Tools. Addison-Wesley Reading MA AHo A V SETm R AND ULLMAN J D 1988 Compilers. Principles Technzques and Tools. Addison-Wesley Reading MA
2. AIKEN A. 1988 Compaction-based parallehzation. Corne}l Umvermty Dept of Computer Science Ph D. Thesis. Ithaca NY AIKEN A. 1988 Compaction-based parallehzation. Corne}l Umvermty Dept of Computer Science Ph D. Thesis. Ithaca NY
3. A development environment for horizontal microcode
4. AIKEN A AND NICOLAU A. 1988b Optimal loop parallehzatlon in Proceedings o/the SIGPLAN '88 Conference on Programrnzng Language Design and Implementatton (Atlanta CA June) 308 317 10.1145/53990.54021 AIKEN A AND NICOLAU A. 1988b Optimal loop parallehzatlon in Proceedings o/the SIGPLAN '88 Conference on Programrnzng Language Design and Implementatton (Atlanta CA June) 308 317 10.1145/53990.54021
Cited by
167 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Introducing software pipelining for the A64FX processor into LLVM;Proceedings of the International Conference on High Performance Computing in Asia-Pacific Region Workshops;2024-01-11
2. A DSP shared is a DSP earned: HLS Task-Level Multi-Pumping for High-Performance Low-Resource Designs;2023 IEEE 41st International Conference on Computer Design (ICCD);2023-11-06
3. A Loop Optimization Method for Dataflow Architecture;2022 IEEE 24th Int Conf on High Performance Computing & Communications; 8th Int Conf on Data Science & Systems; 20th Int Conf on Smart City; 8th Int Conf on Dependability in Sensor, Cloud & Big Data Systems & Application (HPCC/DSS/SmartCity/DependSys);2022-12
4. Routing brain traffic through the von Neumann bottleneck: Efficient cache usage in spiking neural network simulation code on general purpose computers;Parallel Computing;2022-10
5. An Automatic Pipeline Parallel Acceleration Framework for Neural Network Models on Heterogeneous Computing Platforms;2022 5th International Conference on Pattern Recognition and Artificial Intelligence (PRAI);2022-08-19