A method for applying loop unrolling and software pipelining to instruction-level parallel architectures

Nobuhiro Kondo*, Akira Koseki, Hideaki Komatsu, Yoshiaki Fukazawa

*この研究の対応する著者

研究成果: Article査読

抄録

A considerable part of program execution time is consumed by loops, so that loop optimization is highly effective especially for the innermost loops of a program. Software pipelining and loop unrolling are known methods for loop optimization. Software pipelining is advantageous in that the code becomes only slightly longer. This method, however, is difficult to apply if the loop includes branching when the parallelism is limited. On the other hand, loop unrolling, while being free of such limitations, suffers from a number of drawbacks. In particular the code size grows substantially and it is difficult to determine the optimal number of body replications. In order to solve these problems, it seems important to combine software pipelining with loop unrolling so as to utilize the advantages of both techniques while paying due regard to properties of programs under consideration and to the machine resources available. This paper describes a method for applying optimal loop unrolling and effective software pipelining to achieve this goal. Program characteristics obtained by means of an extended PDG (program dependence graph) are taken into consideration as well as machine resources.

本文言語English
ページ(範囲)62-73
ページ数12
ジャーナルSystems and Computers in Japan
29
9
DOI
出版ステータスPublished - 1998 8月

ASJC Scopus subject areas

  • 理論的コンピュータサイエンス
  • 情報システム
  • ハードウェアとアーキテクチャ
  • 計算理論と計算数学

フィンガープリント

「A method for applying loop unrolling and software pipelining to instruction-level parallel architectures」の研究トピックを掘り下げます。これらがまとまってユニークなフィンガープリントを構成します。

引用スタイル