最適化器を容易に記述できるコンパイラ共通基盤のCONISと,GPUのコードを生成できるLLVMの中間表現LIRとLLVM-IRの間に変換器を定義し,COINS上でGPU向け最適化器を実現できるようにした.また,GPU向け最適化の実例として,GPUに有効な通常最適化と,GPU特有の最適化を実現した.通常最適化として,配列参照を次元の一致度を考慮して集約し,キャッシュのヒット率を上げる手法や,任意の構造をもつループに対してスカラ置換を行う要求駆動型手法を実現した.GPU特有の最適化として,分岐先を,依存関係を考慮して,括り出したり,融合したりずることで,より多くの分岐発散を低減する手法を実現した.
|