2024-03-29T07:13:18Zhttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_oaipmhoai:ipsj.ixsq.nii.ac.jp:000135812022-10-21T05:24:51Z00581:00742:00746
命令レベル並列計算機のためのリカレンス演算の高速化手法とコンパイラへの実装Loop Optimization Method for Recurrences on a Processor with Instruction Level Parallelismjpn論文http://id.nii.ac.jp/1001/00013581/Journal Articlehttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=13581&item_no=1&attribute_id=1&file_no=1Copyright (c) 1996 by the Information Processing Society of Japan並列化株式会社日立製作所中央研究所株式会社日立製作所半導体事業部半導体開発センタ田中, 義一前島, 英雄VLIWやスーパスカラプロセッサなどの命令レベル並列計算機において リカレンス演算部が性能のボトルネックのひとつとなっている. 本研究では リカレンス演算に対する高速化手法として 高階型後退代入法と ベクトル計算機のために導入した同次型後退代入法の2つを取りあげ 実際のレジスタ割当てを含めたモジュロスケジューラを試作して評価を行った. その結果 後者は前者に比べ 絶対性能および最適な性能を与える展開数付近での性能感度が小さい点で優れていることが分かった. また 現行の低いレベルの並列度を有するスーパスカラプロセッサにおいても有効であることが確認できた. 次に 後者のアルゴリズムを最適化コンパイラで自動的に適用するため パラメータであるループ展開数を求める経験則を見いだし プロトタイプコンパイラに実装した. その結果 リバモアカーネル中のリカレンス演算を持つ3ループに対し 理想的な性能の95%以上を得ることができた.Recurrences often result in a performance bottleneck on a processor with instruction level parallelism because of a chain of flow dependent operations. We compare the two recurrence height reduction techniques that are higher order back-substitution and equal order back-substitution, considering the architecture resources such as the number of registers. The results show that the latter technique is superior because of optimum performance and insensitivity to loop unrolling factor. Next, we present a heuristic that determines the loop unrolling factor considering the register pressure to apply this technique automatically by optimizing compiler. We can get the performance more than the 95% of optimum results in the recurrence loops in the livermore kernel.AN00116647情報処理学会論文誌379165716651996-09-151882-77642009-06-29