研究課題/領域番号 |
15H03602
|
研究機関 | 一橋大学 |
研究代表者 |
台坂 博 一橋大学, 大学院商学研究科, 准教授 (80399295)
|
研究分担者 |
湯浅 富久子 大学共同利用機関法人高エネルギー加速器研究機構, 計算科学センター, 准教授 (00203943)
中里 直人 会津大学, コンピュータ理工学部, 上級准教授 (00392051)
似鳥 啓吾 国立研究開発法人理化学研究所, 計算科学研究機構, 研究員 (80600824)
石川 正 大学共同利用機関法人高エネルギー加速器研究機構, 計算科学センター, 准教授 (90184481)
|
研究期間 (年度) |
2015-04-01 – 2018-03-31
|
キーワード | 多倍長精度演算 / アクセラレータ / FPGA / ファインマンループ図形積分 / エルミート積分 |
研究実績の概要 |
本研究では、多倍長浮動小数点演算(以下、多倍長演算)を用いた積分計算の高速化を実現するために、ハードウェアとソフトウェアの両面による高速化を実現し、実アプリケーションでの検証によりその有用性を実証することを目的としている。具体的には、最適化された多倍長演算用プロセッサエレメント(以下、PE)とプロセッサ(以下、MP)の開発、および、それらを実装したFPGAボードからなるアクセラレータシステムの開発、OpenCL/CUDAによる高速な多倍長演算手法の確立、および、多倍長演算を必要とする多次元数値積分(ファインマンループ図形積分)と重力多体系の軌道計算(高次エルミート法)について高速化の実現である。 平成28年度は、ソフトウェアに関しては、OpenCL/CUDAによる実用的な6倍、8倍精度演算ライブラリを構築した。また、ライブラリの構築だけでなく、Gooseコンパイラを拡張し、Gooseコンパイラによる統一的プログラミング環境を実現した。ファインマンループ図形積分の計算においては、計算したいループ図形は多種存在するため、様々な図形に対して適応精度の手法とその数値計算コードの開発、および被積分関数の導出を行った。いくつかの物理パラメータを用いて数値計算を行い、ループの物理パラメータによっては、2ループ・ボックス型の積分で端点以外に発散する領域が存在すること明かになった。また、GPUによるループ積分の計算の高速化についても検討した。 専用システムとしてFPGAボードを4枚搭載したシステムを構築する予定あるため、その前段階として小規模なシステムを構築し、コンパイラも含めたシステムの検証を行なった。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
OpenCL/CUDAによる実用的な6倍、8倍精度演算ライブラリの構築に関しては、すでにGPUによる高速化が実現されているDD方式及びその拡張方式は指数部11ビットであり実アプリケーションにおいてダイナミックレンジが不足する可能性があるため、指数部ビットを拡張したライブラリを構築した。また、OpenCL/CUDAによる多倍長演算ライブラリの構築だけでなく、gooseコンパイラによる統一的プログラミング環境を実現した。Gooseコンパイラは指示行ベースのコンパイラであり、専用システムを容易に利用するために開発しているものである。統一的なプログラミング環境を提供するために、Gooseが多倍長演算ライブラリを利用できるようにGooseを拡張した。高次エルミート積分に関しては、専用システムへの実装の検討、構築した高次エルミート積分法を軌道計算(中心重力場中の天体運動)への適応を進めている。専用システムへの実装に際しては、PEのレジスタや演算器、MPのメモリ最適化を行う必要があり、その詳細検討を進めている。 ファインマンループ図形積分の数値計算に関しては、物理パラメータよっては積分領域の端点以外に被積分仮数の発散があることが判明した。そのような場合の積分計算を可能にするために、より単純なループを用いて、計算に必要な分点数の調査、および、空間分割方法などの検討を進めている。 専用システムとしてFPGAボードを4枚搭載したシステムを構築する予定であるため、その前段階としてFPGAボード2枚搭載したシステムを構築し、コンパイラも含めたシステムの検証を行った。 成果は、物理学会、応用数理学会、電子情報処理学会の研究会で発表した。
|
今後の研究の推進方策 |
専用ハードウェアの更なる最適化による性能向上と専用システムの構築、ライブラリの最適化、それらを用いた実アプリケーションによる有用性の検証を進める。 専用システムの構築に関しては、4枚のFPGAボードを搭載したシステムの構築し、最適化を行った専用回路により、実アプリケーションによる性能評価を行う。 ソフトウェアに関しては、OpenCL/CUDAによる6/8倍精度演算ライブラリの最適化を進める。OpenCL/CUDAは統一的なプログラミング環境を提供する一方、性能を引き出すためにはGPU内部構造に適合したパラメータ調整が必要である。幅広いGPUに適応するためにライブラリの最適化を行う。Gooseも開発が続けられており、現在ではMPIを用いた並列計算コードを自動生成できるようになっている。その拡張されたGooseへの統合も進める。 実アプリケーションでは、高次エルミート積分に関しては、高次エルミート法積分をGPUへ実装し性能評価を行い、惑星系軌道計算に応用する。 また、引き続き、高次エルミート法に適合したPEの最適化を検討し、専用システムへ実装し、高速化の効果を調査する。 ファインマンループ図形積分への応用に関しては、端点以外の積分領域で発散がある積分をするために、適応精度の選択手法の開発と空間分割法による積分手法を確立、および、被積分関数の導出と数値解析を行う。
|