研究課題/領域番号 |
18K18032
|
研究機関 | 東京大学 |
研究代表者 |
佐藤 重幸 東京大学, 大学院情報理工学系研究科, 助教 (90779464)
|
研究期間 (年度) |
2018-04-01 – 2021-03-31
|
キーワード | 自動並列化 / ループ並列化 / コンパイラ |
研究実績の概要 |
実施した研究成果の要点は,次の通りである. 1) 入力言語をPythonのサブセット言語として設計.2) Z3ソルバと統合した静的解析とコード変換器のプロトタイプを実装.3) C++を対象としたコード生成器のプロトタイプを実装.4) リダクションループのSIMD化性能の予備実験を実施.
第1--3の点によって,本研究の基盤となる先行研究 [Sato & Iwasaki '11] の自動並列化技術を,現代的な言語であるPython上に移植する準備が整った.先行研究では,C言語向けのコンパイラ基盤であるCOINSを使って自動並列化を実装していたが,本研究では入力言語をPythonサブセットに設計することで,自動並列化の研究に必要十分でありながら,よりコンパクトな基盤に移行することができた.Python上に基盤を構築したことで,Z3ソルバと統合が進み,静的解析も容易に実装できるようになった.これによって,当初の計画よりも,新しい並列化技術の実装と検証の効率が高められた.第4の点によって,最終的に目指すベクトル化の技術的課題を特定できた.現代のCPUのSIMD拡張命令によってベクトル化(つまりSIMD化)したときの性能は,CPUの世代に大きく影響を受け,非SIMD化コードを比較して遅くなることは珍しくなかった.特にリダクションループについては,SIMD化自体の有無も含めて,柔軟に変更できるような性能移植性の高いコード生成が必要になることが分かった.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
当初の計画と違って,新しい自動並列化技術を開発する前に,旧来のCOINSを使わずに,Python上の基盤を新しく開発することにした.対象言語をPythonサブセットに設計したことで,想定よりもコンパクトに作ることができ,Z3ソルバとの統合も進み,今後の研究を加速させる準備ができた.結果として,当初の計画とは異なる進行ではあるものの,概ね順調である.
|
今後の研究の推進方策 |
準備したPython上の基盤に基づいて,新しい自動並列化技術を開発していく.
|
次年度使用額が生じた理由 |
当初の計画において,本年度に購入を予定していた計算機が,所属の移動に伴う計算機環境の変化によって,急いで購入する必要がなくなった.来年度以降に購入時期をずらすことで,より新しい計算機を購入するように予定を変えた. 旅費について,研究調査のための国際会議出張は,他の研究費で賄った.その分を来年度以降の在外研究の旅費に充てるように予定を変えた.
|