GRAPE-DR による重力多体問題シミュレーションおよびLU 分解

【日時】7月1日(水) 10:30~12:00
【場所】国立天文台・三鷹 北研1階講義室
【タイトル】GRAPE-DR による重力多体問題シミュレーションおよびLU 分解
【発表者(敬称略)】小池 邦昭(総研大 D3・三鷹、指導教員 牧野 淳一郎)
自己重力多体問題は球状星団や銀河などをモデル化する方法として強力な方法であるが、粒子数の増加によって相互作用の計算量が莫大になる。
このような問題を解決するために相互作用のみを高速に計算する専用計算機
GRAPE (Sugimoto et al. 1990)が開発されてきた。現在開発中のGRAPE-DRはプログラム可能な512個の小規模な演算器を1個の演算プロセッサに集積し、高性能化を実現する(J.Makino,2005)。
このため重力相互作用・SPH・Lennerd-Jones相互作用のようなさまざまな相互作用型のアプリケーションを実装することができる。また、演算器で動作させるプログラムを変更することで行列乗算などの応用も可能になる。
実際のハードウェアの構成としてはGRAPE-DRの演算ボード(GRAPE-DR Model 1800)は演算プロセッサ(SING)、制御プロセッサ、粒子データ用メモリを1ブロックとした4ブロックで構成されている。このうち制御プロセッサはホストPCと演算プロセッサのデータのやり取りの制御や演算プロセッサへの命令投入や粒子データメモリへの転送制御を担当する。制御プロセッサはFPGA(再構成型論理素子)としてボード上に実装されているのでボードが完成した後でもハードウェアの変更が可能になる。
このFPGA上で動作する演算プロセッサ用の制御回路を開発した。アクセラレータ部で動作する重力相互作用計算と行列積計算ライブラリを実装し、1ノードでの性能評価をおこなった。現在それぞれのライブラリについて最適化が進行中である。現状では重力相互作用計算では362.6GFlops($N=262144$)、行列積計算では635.1GFlops($M=N=32768,K=2048$)の演算性能となった。これを用いてLU分解のパッケージであるHigh Performance LINPACK(HPL)の加速を行い、演算性能値は284.3GFlops($N=34816,NB=2048$)となった。現状では通信部分の最適化が不十分である。性能向上に向けての方針についても議論する。