• 検索結果がありません。

ループ内依存関係の視覚的パターン化の試み

N/A
N/A
Protected

Academic year: 2021

シェア "ループ内依存関係の視覚的パターン化の試み"

Copied!
4
0
0

読み込み中.... (全文を見る)

全文

(1)数理モデル化と問題解決 38−11 (2002. 3. 5). ループ内依存関係の視覚的パターン化の試み 岩坂 麻実. 山口 智美. 庄野 逸. 笹倉 万里子. 城 和貴. 奈良女子大学理学部情報科学科 奈良女子大学大学院人間文化研究科 岡山大学工学部情報科学科. 並列計算機の普及に伴い逐次プログラムを並列プログラムに書き換える必要があるが,現在のところ,プ ログラマに対して高度な技術や経験が要求される.本研究では,並列支援視覚化システム を用い て,与えられたプログラムのデータ依存関係を視覚的パターン化し,適切な変換手法に対応づけることを 考案する.本稿では主に,並列化コンパイラで一般に使用されているループ変換手法について取り上げ,具 体的に視覚化されたプログラム中のループのデータ依存状態から有効なループ変換手法を検証する..  . はじめに.  .  .  . 法によるデータ依存関係の相違を視覚化し,プ ログラム構造や依存関係と有効な変換手法の関 連付けを行うことを目的とする.これらの情報 によりプログラマは視覚化されたプログラムの ループの構造から適切なループ変換手法を容易 に選択することが可能になり,経験の少ないプ ログラマでも逐次プログラムから並列プログラ ムへの変換が可能になると考えられる.. 近年,並列計算機の導入が急激に増加してお り,既存のアプリケーションを並列計算機で使 用するためには,逐次プログラムを並列プログ ラムに書き換える必要がある.しかしながら,各 プログラムに対して構造を把握し再構成を行う ことは容易ではない.現在のところ,高度な技 術や経験を持つプログラマが時間をかけて大規 模なプログラムに対してそれぞれ有効な並列化 データ依存関係とループ変換手法 を考案し実装しなければならない. はプログラムを視覚化することによって,ユー の対応 ザーにその構造を迅速かつ正確に伝える並列化 支援視覚化システムである.本研究では,主と では,プログラム情報を つのビ して並列プログラムを目的としたループ変換手 ュー:. −41−.

(2) で表示 することが可能である. では,変数や配列 要素をキューブで,その依存関係をポールで表 示し,その色によってアクセス方法,依存の種類 を識別する.ユーザーはこれらのビューを併用 することによって有効な並列化を検討する.ここ では並列化コンパイラで一般に使用されるルー プ変換手法, を取り 上げる .プログラム中の変数や配列要素につ いて依存関係を調べ,その依存関係を保持した まま並列化を行うことは極めて難しい.そこで, 各ループ変換手法についてデータ依存関係の視 覚化を行い,依存関係の形状から正当かつ最適 なループ変換を検討する.. 図. 図 では, と 間にクロスイタレー ション依存が存在する.そこで, を適用することにより,図 のように つに ループを分割する.その結果,クロスイタレー ション依存のない については並列実行が可能 になる. 図 の についての紫キューブ( アクセス)から青キューブ( アクセス)の 間にある緑のポールはクロスイタレーション依 存が全体の並列実行を阻害している事を示して いる.このようにひとつの配列要素にクロスイ タレーションが存在する場合には,それを分離 するために を適用することが 有効である.. 図. の例を図 図. 図. ,図. に示す.. 図 左図に見られるように配列 について逆 依存が存在するが, 軸方向すなわち のルー プについて並列化が可能である. のループは内 側であり,並列化の効果は外側のループに適用 を行 した場合に高くなるので, う.変換後の逆依存関係は図 右図のようにな り, 軸方向すなわち外側の のループに関し て並列化が可能になることがわかる. このように,一方向にのみ並列化が可能であ りそれが内側のループである場合, が有効である.. −42−.

(3) 図. 図. 図. 図. 図 左. 長さ での の具体例を図 ,図 に示す.図 では 平面にのみキューブが 存在し,これは一次元ループであることがわか る.また, 文の赤キューブの上に他のキュー ブがひとつ存在した後,元のキューブの上に 文である青キューブが現れている.これは,あ の具体例を図 ,図 に示す.図 のように同一イタレーション内で 文の る配列要素について依存距離 のフロー依存が 文の青キューブ 存在することを表しており,長さ で 赤キューブが 方向以上の で囲まれており,その赤キューブの上に青キュー を適用することができる.赤キューブと青 ブが存在しそれらの間にフロー依存がある場合, キューブの間にさらに多くの別のキューブが存 計算があることを示しており, 在する場合はそのキューブ数に を足した数で が適用可能である. が適用可能である. 右. 図 図. −43−.

(4) 図. 図. 図. 図 図 のデータ依存を視覚化すると図 上図 上 のようになる.紫キューブは の配列要素を表 下 しており,左端のキューブは である.この ループでは 軸方向に上昇,すなわちループの 進行とともにアクセスされるキューブは進むが, 結論 に対してはすべてのキューブが緑のポール でつながれており,フロー依存が存在すること を用いて 並列化支援視覚化システム に対する依存のために がわかる.これは, プログラム中のループの依存関係を視覚化を行 ループの並列化が阻害されていることを意味す い,有効なループ変換手法との関連付けを行っ る.よって,このループに を適用 た.ユーザーはこれらの視覚化された依存情報 すると図 下図にみられるように へのフ をもとに各プログラムに対して適切な並列化を ロー依存がなくなるため,並列実行が可能にな 見出すことができ,逐次プログラムから並列プ る事がわかる. このようにあるひとつの紫キューブの上に多 ログラムへの変換が迅速かつ容易になると考え 数の青キューブが存在し,それらがポールでつ られる. ながれている場合, を適用する事 今後の課題として,より詳細な依存関係の解 が望ましいと考えられる. 析および分類,選択した並列化手法の実装など の の機能拡張,などが挙げられる.. 参考文献 中田 育男 ”コンパイラの構成と最適化 ” 朝 倉書店. 図. −44−.

(5)

参照

関連したドキュメント

このうち糸球体上皮細胞は高度に分化した終末 分化細胞であり,糸球体基底膜を外側から覆い かぶさるように存在する.

以上の結果について、キーワード全体の関連 を図に示したのが図8および図9である。図8

絡み目を平面に射影し,線が交差しているところに上下 の情報をつけたものを絡み目の 図式 という..

C. 

また、視覚障害の定義は世界的に良い方の眼の矯正視力が基準となる。 WHO の定義では 矯正視力の 0.05 未満を「失明」 、 0.05 以上

手動のレバーを押して津波がどのようにして起きるかを観察 することができます。シミュレーターの前には、 「地図で見る日本

図 21 のように 3 種類の立体異性体が存在する。まずジアステレオマー(幾何異 性体)である cis 体と trans 体があるが、上下の cis

 県民のリサイクルに対する意識の高揚や活動の定着化を図ることを目的に、「環境を守り、資源を