
技術開発 担当部長
清水 茂則
スーパーコンピューターは、主に自然現象、社会現象を、自然科学的、あるいは、社会科学的な法則に基づきモデル化することにより、コンピューター上で実行すること(シミュレーション)に利用されています。2006年3月よりBlue Gene® を稼働している高エネルギー加速器研究機構(KEK)では、格子量子色力学(QCD:Quantum Chromo-dynamics)による素粒子動力学のシミュレーションを行います。
もっと身近なものでは、自動車の設計等があげられます。衝突事故を再現するため、実際に車を何台も壊していては時間もコストもかかります。最適な車の材質やバンパーの形の組み合わせなど、ある程度までシミュレーションで絞り込むことで、試作車による実験が減り、早いサイクルで新車を市場に出すことができます。消費者にとっては、より安全で安価な車が手に入るということです。そのためには、シミュレーション結果をより緻密なものにする、高性能コンピューターが必要となってきます。
KEKがBlue Geneを導入されたねらいは、QCDの計算性能を上げることでした。この性能を上げるためには、QCDプログラムの中身をある程度知り、Blue Geneの特性も知った上で、総合的に対応する必要があります。QCDの元々のプログラムは、KEKが開発したものです。私たちディープ・コンピューティング開発研究所は、そのプログラムを参考に計算速度を最大限向上させる役割を担うことになりました。それにはソースコードを書き換えたり、部分的にアセンブラに置き換えたりすることもしています。
国公立研究機関や大学の大型計算センターがIBMに期待することに、アプリケーションを一緒に考えるということが少なくありません。私たちは個々の特定アプリケーションについては、そうしたお客様のような専門家ではありませんが、コンピューターの性質を理解しているプロフェッショナルとして、研究者のみなさまを補完して良いものに仕上げていくことが大変重要だと認識しています。
KEKに採用されたBlue Geneは、ピーク性能が国内最高レベルの57.3テラFLOPSです。ピーク性能というのは個々のプロセッサーの全てが力を出し切った時の数字です。しかし、実際にアプリケーション・プログラムの計算速度を最大にするためには、チューニング技術が必要になります。
プログラムがマシンの特性に合うように、少しずつ人の手を入れてプログラムを最適化していきます。KEKでは、性能を大きく向上でき、ディープ・コンピューティング開発研究所のチューニング技術を評価して頂きました。
アプリケーションをチューニングしたにもかかわらず性能が上がらない場合は、コンパイラーのこのコード部分の改良がいるという結論に至ることもあります。このときには、コンパイラーを開発しているカナダのIBMトロント研究所と連携を取りながら、私たちの解析を通じて得た知見をフィードバックして、コンパイラーを短期間に改良してもらうことがあります。
他方、性能を上げることに合わせて、他のマシンでも実行できる一般性をもったプログラムにして欲しいという要望を受けることもあります。こういう場合でも、アプリケーションの中身にかなり踏み込んで仕事をすることになります。また、スーパーコンピューター・クラスになると、お客様のプログラム、コンパイラー、ライブラリ、OSなどのソフトウェアとハードウェアの関係がかなり複雑になります。お客様が解決するには難しい問題も発生します。ディープ・コンピューティング開発研究所では、お客様のディープ・コンピューティング用システムに異常が発生した際に、問題を特定して解決するための適切なチームを編成し、IBMのグローバル・チームと協力して解決するなどして、IBMの持っているディープ・コンピュ ーティング分野の総合力をお客様にご提供しています。
お客様の技術支援という点では、お客様がアーキテクチャーとかアプリケーションのプロフェッショナルですから、その人たちに信頼を得ることができるように私たち自身のスキルアップをしていきたいと思います。なぜなら、それなしにはお客様に真剣に我々の話を聞いて頂けないからです。お客様と対等にお話ができて、お客様が我々を信頼できるパートナーとしてみてくれるチームづくりを目指しています。
(2006年3月)
