研究課題/領域番号 |
25330089
|
研究種目 |
基盤研究(C)
|
研究機関 | 東京理科大学 |
研究代表者 |
滝本 宗宏 東京理科大学, 理工学部, 教授 (00318205)
|
研究期間 (年度) |
2013-04-01 – 2016-03-31
|
キーワード | コード最適化 / コンパイラ / GPU / LLVM / コンパイラ共通基盤 / GPGPU / CUDA / OpenCL |
研究概要 |
本研究では,コンパイラ共通基盤COINSの中間表現LIRから,GPU用コードを生成できるLLVMの入力表現,LLVM-IRを生成することによって,COINS上でGPU向けコード最適化を開発できる環境を実現することを目的としている. 本目的達成に向けて,平成25年度では,次のことを行った. 1. LLVM-IRの調査. 2. COINSの中間表現LIRをLLVM-IRに変換する変換器lir2llvmの実現. 3. COINSとLLVMを組み合わせた環境における,最適化の効果の検証 1と2に示すように,LIRからLLVM-IRへの変換器を実現した.実現した変換器は2種類であり,1つは,通常形式のLLVM-IRコードを生成するものであり,もう1つは,SSA形式のLLVM-IRコードを生成するものである.これらの振舞いは,SPEC2000ベンチマーク上で検証し,正常に動作することを確認した.また,3に示すように,実現を目指しているコード最適化のロード命令集約とスカラ置換を含めた,COINSの多くの既存最適化が,正常に動作することもSpec2000ベンチマークで確認した.実現したlir2llvmは,CUDA用の修飾子に対応していないが,OpenCL用の修飾子も考慮しながら,検討中である.一方で,ロード命令集約やスカラ置換を適用したLIRが,正常にLLVM-IRに変換でき,生成コードが,正常に動作することを確認しており,研究の進捗は,順調と言える.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
研究実施計画では,平成25年度までに,CUDAの動作修飾子を含めたLIRからLLVM-IRへの変換器を実現することになっていたが,CUDAが生成するLLVM-IRを確認するのが難しいことが分かってきたので,他のGPU向けの記述法であるOpenCLを用いて,その生成コードを調査中である.このような理由で,当初の予定より,変換器の完成が遅れているが,GPUに関係しない部分は,ほぼ完成しており,平成26年度に予定していた,最終的に実現を目指しているロード命令集約とスカラ置換のLLVM向けの調整を先に行い,既存の最適化の組み合わせによる効果の検証を実施しているので,全体として,順調と言える.
|
今後の研究の推進方策 |
OpenCLの記述によって,生成されるLLVM-IRの検証を済ませ,GPU向けの修飾子を記述するpragmaの定義を導入する予定である.その上で,現在通常CPU用に実現してあるロード命令集約とスカラ置換を拡張する.
|