研究課題/領域番号 |
15K00166
|
研究機関 | 東京大学 |
研究代表者 |
塙 敏博 東京大学, 情報基盤センター, 准教授 (30308283)
|
研究期間 (年度) |
2015-04-01 – 2019-03-31
|
キーワード | 演算と通信の融合 / GPUクラスタ / FPGA / OpenCL / 高性能インタコネクト |
研究実績の概要 |
GPU (Graphics Processing Unit)に代表される演算加速装置を搭載したクラスタにおいて,演算加速装置間の直接通信を可能にする密結合演算加速機構TCAアーキテクチャを提案し,特に低遅延通信の効果によりStrong-scalingに有効であることを示してきた.これらの知見から,これまで開発したFPGAによる通信機構PEACH2,3の通信エンジンに加え,柔軟な演算機能を融合することで,さらなる高速化,高効率化を目指している.従来のFPGAでは,ハードウェア記述言語を用いてインタフェースも含めて自ら設計する必要があり開発が困難であったが,近年OpenCLなどで書かれたプログラムを回路として動作させることが可能になっている.そこで,本研究では,指示文によりプログラム中のオフロード部分を指定し,FPGA論理を生成し.高速な通信エンジンに対して動的に計算部分を組み込むことにより,通信と計算の高度な融合を実現する. 本年度は,Arria10 FPGA搭載ボードを用いて,OpenCLにより階層型行列ベクトル積などを実装し評価を行った.その結果,実装自体は容易に行えるものの,元のコードのまま,あるいは一般的な最適化テクニックを施しても高い性能を得ることができなかった.そこでFPGAにあらかじめ用意されている論理ブロックおよびブロック間の配線を有効に使えるよう意識してコードを書き換えることで,高い性能が得られることがわかった. 今後は次世代FPGAであるStratix10搭載ボードを用いて評価するとともに、次世代のFPGA環境で提供されるソフトウェアスタックに対応しつつ,通信インタフェース部分を設計していく予定である.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
4: 遅れている
理由
Altera社Arria10搭載のOpenCL対応FPGA評価ボードを用いて,OpenCLによりいくつかのコードを実装し,評価を行った.OpenCLコンパイラの改善により,事前の回路規模の見積もり等は容易にはなったが、依然として数時間をかけて論理合成してみて初めて性能が判断できる状態であり,生産性が非常に劣る点について本質的には変わらない. 以前のコンパイラではバグが多く,エミュレータでは動作するコードが論理合成に失敗するなどの不具合が多くみられ,その回避のために多くの労力を割く必要があった.新しいバージョンのコンパイラでは,不具合の修正だけでなく,最適化はあまり行わずに短時間で結果を得ることもできるようになっているが,評価ボードを当該バージョンに対応させるなど環境を整備するために多大な労力を必要とした. また,単純な行列積であっても,通常知られているプログラミングのテクニックである,ループアンローリングやブロッキングなどを用いても高速化は限定的で,FPGA内部のロジック間の接続に忠実にデータフローを記述する形にすることでようやく内部の演算回路を十分に使うことができることがわかった.
|
今後の研究の推進方策 |
Terasic社製DE5a-Netボード,または次世代Stratix10搭載ボードを用いて,これまでPEACH-2, PEACH-3で実施してきたFPGAによる高速通信エンジンを移植し、NVIDIA社製 Tesla P100を用いて,基本性能について評価・検証する。 その上で、ボード上でOpenCLを使うためのBSP (Board Support Package)に対して、PEACH-2, PEACH-3相当の機能を追加する.またさらに、外部ネットワーク出力を利用することで,ノード間接続への拡張も試みる. 一方で,OpenACCやOpenMP 4.5のような指示文ベースの言語を元に,デバイスでの論理合成を行えるよう,LLVMコンパイラ,またはOmniコンパイラを用いたプロトタイプ実装を行う.
|
次年度使用額が生じた理由 |
(理由)Arria10ボードを使った評価に時間が取られ,ボード間接続を実現するまでに至らなかったことや,次世代製品の発売開始が遅れたことから,新しい評価ボードの入手を諦めた.
(使用計画)Stratix10世代のFPGAボード入手を検討中である.合わせて,ボード間を接続するためのケーブル等についても購入を検討している.
|