研究実績の概要 |
本研究では,コンパイラ共通基盤COINSの中間表現LIRから,GPU用コードPTXを生成することによって,COINS上でGPU向けの低水準最適化を開発できる環境を実現 することを目的としている.本目的達成に向けて,平成30年度では,次のことを行った. 1. 疎なコード移動(Sparse Code Motion,以下SCMと呼ぶ)と投機的移動を組み合わせた分岐発散低減手法の実現 2. プログラム中の分岐発散を生じている分岐と生じていない分岐に対して, 分岐発散低減手法と部分冗長除去を選択的に適用する手法の実現 1については,部分冗長除去法の一種で,静的な式の数を減らすように式を減らす疎なコード移動が分岐後の式を分岐前に移動する効果と,分岐発散した分岐後のコードはすべて順番に実行される性質に着目し,疎なコード移動を投機的移動と組み合わせることによって,分岐内から分岐前に式を移動する効果を高めた手法(Speculative SCM,以下SSCMと呼ぶ)を提案した. 2については,分岐発散していない分岐における投機的移動が,プログラムの実行効率を低減する可能性があることに着目し,分岐発散している分岐としていない分岐を,分岐発散解析によって解析し,分岐発散している分岐にはSSCMとして,分岐発散していない分岐にはSCMとして,選択的に適用できる手法を提案した.SSCMの選択的な適用について,一般的に使われるサンプルコードで評価を行ったところ,1.8倍の効率化を実現した.本成果は, 第21回プログラミングおよびプログラミング言語ワークショップ(PPL2019)で発表済みである.
|