Honorable MentionのGPUによるN体シミュレーション

Honorable Mentionを獲得した浜田、似鳥の論文は、GPUを使用するシステムで、多数個の質点の運動を解析するというもので、質点は、たとえば恒星や星間物質などであり、銀河の構造がどのように進化してきたかの解析などに用いられる。このような計算はN体問題と言われる。

N体問題は、原理的には2点間に働く力(例えば引力)を順に計算し、各質点に対して他のすべての質点からの力をベクトル的に合成した力を求める。そして、その力で質点の速度と位置を更新していく。しかし、正直にやるとNの2乗回の2点間の力の計算が必要になる。

これをツリーで階層的に表現し、かつ、遠くの方のグループの質点は個々には力を計算せず、グループの中の全質量が重心に集まった1つの質点とみなして計算するツリーコードという方法が用いられる。

図3 左上の質点の分布を細分化した領域の階層的ツリーで表現する(浜田、似鳥論文から抜粋)

この図では3階層、4階層では質点の存在しない領域が存在しており、ツリー表現を用いることによりこのような領域を除くことができる。

図4 細かい質点がある中心の領域の点に働く力を計算する場合の質点の配置

また、この図4の中の細かい質点が書かれた3×3の小領域の中心の領域にある質点への力を計算する場合は、周囲の8個の小領域に対してはそれぞれの質点に対する力を計算するが、その外側ではそれぞれの領域の全体の質量を重心に集めた近似計算を行う。そして、ターゲットとしている質点から遠ざかるにつれて領域を大きくしていく。

このように、ツリーコードを使うと大幅に計算量を減らすことができるが、計算が不規則になりGPUで効率的に実行することが難しくなる。これに対して、この論文ではツリーを上から下にたどるWalk動作を並列に行うParallel Walkという方法を考案し、GPUでの実行効率を改善している。

長崎大のシステムはCore i7 920プロセサに2枚のNVIDIAのGTX295ボード(GT200 GPUを2個搭載)した計算ノード144個を10GbpsのInfiniBandで接続している。このシステムで直径1152Mパーセクの領域に太陽質量の1.7×1010倍の質量をもつ約3.3B個の質点を含む系をシミュレートして、単精度の浮動小数点計算で実効192.5TFlopsの性能を達成している。

ただし、この計算法はGPU向きに最適化しておCPUに最適化した計算法に比べて演算回数が増えているので、CPUで計算した場合に補正すると104.8TFlopsの処理に相当するという。そして、このシステムのハードウェアコストは41万1,921ドルとのことで、補正後の性能をこのコストで割ると254MFlops/ドルとなる。このコストパフォーマンスの高さとツリーコードをGPUで効率よく実行するParallel Walkアルゴリズムが評価されHonorable Mentionとなった。

なお、このハードウェアコストであるが、NVIDIAの計算用の製品であるTeslaは高いので、民生用の安いGTXグラフィックスボードを使い、Core i7のマザーボードなども個別に調達して浜田先生が自分で組み立てたという。Teslaを使い、メーカーが組み上げたシステムを調達するとなると何倍ものハードウェアコストとなり、MFlops/ドル値は大きく下がってしまう。したがって、高いコストパフォーマンスの実現のカギはGPUの性能を引き出すアルゴリズムとソフトウェアの開発だけでなく、コストを下げるという努力に負うところも大きい。

マザーボードを買ってデスクトップPCを組み立てた経験のある読者には想像してもらえると思うが、1台を組み立てるのは楽しくても、144台を組み立ててInfinibandで相互接続してシステムとして動くところまで持って行くのは大変な仕事で苦痛である。浜田先生は、一時はコンピュータ室に入るのが嫌になったそうである。

Honorable Mentionの高温超電導体のシミュレーション

性能部門でのHonorable Mentionとなった「Electronic Structure Simulations of Excited States and Correlations in Nano- and Material Science」は、物質の中の電子の状態をシミュレーションする論文である。従来のDFT(Density Functional Theory)を用いる方法では、電子が励起状態である場合や電子間の相関がある場合には精度が悪かったが、この論文では、グリーン関数を用い、クーロン相互作用を効率的に計算するアルゴリズムを開発し、励起状態や相関がある場合でも電子状態を精度よく計算できるようにした。

これにより、従来は出来なかった銅酸化物を含む高温超電導体などの解析ができるようになった。また、オークリッジ国立研究所のJaguarシステムで186Kコアを使用して実効1.30PFlopsという高い性能を実現している。