目次]   [1ページ目] [前ページ] [次ページ]  [Q&A
科学技術計算分科会「サイエンティフィック・コンピューティングの最前線」

「GRAPE-DRとスーパーコンピューティングの未来」


(5/8)

5. アプリケーション
  さて、GRAPE-DRで GRAPEがやってきたことができるのは当然として、他の何かの役に立つのか? という疑問をもつ読者もいるであろう。正直なところ開発者である我々も当初はどれくらいのアプリケーションがあるのだろうと思っていたが、詳細な検討を進めていくと予想以上に応用範囲が広いことがわかってきた。
個別の例をあげても意味がないので、以下では多少概念的な説明を試みる。PAXの開発をした星野・川合らは、並列化できるシミュレーションプログラムを以下の 3種類に分類した[5]
  1. 近接型(連続型): 計算要素(例えば格子点) が近隣の要素とのみ相互作用する
  2. 遠隔型(粒子型): 計算要素(例えば粒子) が他の全ての要素と相互作用する
  3. 不規則型: 単純な空間構造をもたない。回路シミュレーション等
  最近では要素間に全く相互作用がないものも並列アプリケーションの例に数えられるが、それは(メモリが足りるなら) GRAPE-DRで実行可能なことはいうまでもない。

  上の分類では、不規則型はケースバイケースだが、粒子型は基本的に GRAPE-DRで実行できる。これは GRAPEが有効であったのと全く同じことである。連続型については、相互作用の複雑さ次第、ということになる。空間3次元の計算では、空間差分の次数を上げると計算量は急速に増大する。そうなると、意外に高い実行効率がでるケースもある。

  なお、空間差分の次数を極限まであげたものは FFTだが、これには適していない。これは、GRAPE-DRが適していないというよりも、クラスタ構成のホスト計算機自体が大規模FFT には不向きであるからである。不向きな理由は、FFTでは大域的な通信が高速に行えることが必須だが、現時点ではギガビットイーサネットや、あるいはインフィニバンドといった高価なネットワークを使っても演算速度に対して通信速度は全く不足なことであり、GRAPE-DRによって演算速度が向上しても FFTは速くならない。GRAPE-DRの速度に見合ったノード間通信速度が得られるならば FFTにも有効である。

  上の近接型、遠隔型の中間的な特性をもつものに密行列の処理がある。密行列の反転、固有値計算等はアルゴリズムの進歩によって殆どの演算が行列乗算になるようになっている。行列乗算の計算量はデータ量の 1.5乗であり、遠隔型の 2乗、近接型の 1乗の中間にくる。外部メモリ、内部のローカルメモリ、外部メモリとの通信速度、ホスト計算機との通信速度を適切に選択することで、それほど無理をしないで行列乗算で理論ピークに近い性能を実現できる。転送速度を増やすと必要なメモリ量をその 2乗に反比例して減らすことができるが、例えば PCI-Expressのような新しい技術の場合には実効的な転送速度と名目ピーク速度のギャップがかなり大きくなる傾向があるので注意が必要になる。

  密行列計算は、局在基底を使った量子化学計算等でも発生する、応用上は極めて重要な処理である。また、いうまでもなく LINPACKベンチマークでも重要な役割を果たす。

目次]   [1ページ目] [前ページ] [次ページ]  [Q&A

All Rights Reserved, Copyright©サイエンティフィック・システム研究会 2007