研究概要 |
本研究では,静的な解析と動的な最適化を併用することで,プログラム中の様々な粒度の並列性を有効に活用し効率良く実行することを目的としている.本年は,これを実現するための要素技術として,静的な細粒度自動並列化および動的最適化のための効率的なタスクスケジューリングの実現手法についての研究を行なった.また評価環境としてシミュレーション手法の研究および,実アプリケーションの例としてコンピュータ囲碁プレーヤにおける並列性について調査を行った. 1.静的な細粒度自動並列化 逐次プログラムの自動SIMD化を実現する手法について研究を行った.提案手法は,プログラムから得られるデータフローを解析することで現実的な時間で効果的なSIMDプログラムを得ることができる.Cell/B.E.プロセッサを対象に生成されたSIMDプログラムの実行時間を評価し,その効果を確かめた. 2.動的最適化のためのタスクスケジューラ 動的最適化を実現するために,ヘテロジニアスプロセッサを対象とする軽量なタスクスケジューリング手法について検討しプロトタイプを実装した.検討した手法を用いることで,実行タスクのスケジュールを動的・静的に決定し,効率良く実行できることを確認した. 3.シミュレーション環境 種々のデバイスをシミュレーション可能なプラットホームであるMICSのインターフェイスを定義した.これは,シミュレーション精度を混在させることが可能であり,本年は特に機能レベルとHDLレベルのシミュレーション要素を混在させることができることを示した.また実装方法を改善することにより動作の高速化を実現した. 4.コンピュータ囲碁プレーヤ中の並列性の調査とハードウェア実装への応用 一方,アプリケーションの一つとしてコンピュータ囲碁プレーヤ中の細粒度・粗粒度並列性について調べ,専用ハードウェアによる実現手法を検討し,現実的なリソース量で実装できることを示した.
|