2010 Fiscal Year Annual Research Report
動的スカラ展開によるオンザフライ並列化に関する研究
Project/Area Number |
22500046
|
Research Institution | Kyoto Institute of Technology |
Principal Investigator |
柴山 潔 京都工芸繊維大学, 工芸科学研究科, 教授 (70127091)
|
Co-Investigator(Kenkyū-buntansha) |
平田 博章 京都工芸繊維大学, 工芸科学研究科, 准教授 (90273549)
布目 淳 京都工芸繊維大学, 工芸科学研究科, 助教 (60335320)
|
Keywords | 並列処理 / スカラ展開 / 並列化コンパイラ / プロセッサ |
Research Abstract |
逐次実行を前提として記述したプログラムからスレッドレベル並列性を抽出するシステムアーキテクチャについて検討した。ループの各イタレーションをスレッドとして並列実行する場合に、スレッド間で依存関係が発生する要因として、各スレッドにおいて初回のアクセスが書き込みである変数の存在が挙げられる。本研究では、ベクトル化コンパイラにおけるスカラ展開のアイデアを一般化し、そのような変数に対して動的にスカラ展開を施す方式を開発することにより、一般的なプログラムからスレッドレベル並列性を抽出する可能性を劇的に改善する。 まず、スレッド内でのデータ(変数)アクセスにおいて、スレッド間の依存関係を破壊するアクセス(メモリバイオレーション)の発生を検出し、また、その中で動的スカラ展開の対象とすべきデータアクセスを正確に判別する方法を検討した。次に、これを理想的なキャッシュ機構を用いて実現する方式を開発するとともに、来年度以降において、実用化の観点で検討を要する課題の洗い出しを完了した。 動的スカラ展開の効果について評価を行ったところ、スレッド間の依存関係によるハザードを発生させるデータアクセスのうち、動的スカラ展開を行うことでその半数以上のハザードの発生を回避することができ、スレッドレベル並列性の抽出の可能性を劇的に向上できることが明らかとなった。
|