「エセ理論家」の計算機雑話

白井 光雲(産業科学研究所 量子機能科学研究部門)

 まずは自己紹介からはじめたいと思います。私は今、産研の量子物性研究分野(吉田研)というところに所属していて、第一原理計算を用いて、材料物性の理論予測、新物質のデザインなるものを行っています。従って通常の意味では私は理論家ということになります。一般の人に自己紹介するは、「コンピュータを使った物理理論をしております」と一応もっともらしい言い方をするのですが、正直なところこういう言い方には後ろめたさを感じております。「コンピュータ」と「物理理論」というと、一般には人類知性の最先端と思われ、それが2つとも並ぶのですから、このキーワードは一般の人をして「ほう」と唸らせるには十分の効果があります。しかし実際のところ私に何ができるでしょうか。それではということで「Windowsのこれこれをが分からないのだけれど」とマシンを目の前に持ってこれらるともうお手上げです。

 一応コンピュータ使用歴は長いのですが、ソフト、ハードの日進月歩の発展は過去の知識を一瞬にして無に帰します。昔苦労して覚えたプログラムのコマンド体系も、時が変われば全く役に立たず、又一からやり直さなければならないのは本当に苦痛です。あるプログラムの使い方に関しては、「初めて使う人と、2~3年前に使ったことのある人とに差がない」のです。その道のプロとなるにはそのプログラムを常時使い続け、小さな変更点もいちいちフォローすることが求められます。ある老教授がいみじくも呟いていましたが、「これには蓄積効果というものが無い」というのは正に同感です。この点で私にはSX5の導入で残念なことはFORTRAN77のサポートを止められてしまったことです。まぁコンパイラーF90はF77互換とはいえ、いずれ慣れていないF90に書き直しを迫られるでしょう。その時は多分一生懸命F90を覚え、「一瞬の間」だけ「専門家」となり、次のバージョンが出てきたところで再び「素人」に落ち着くのだろうなぁと思うのです。
それではこのような心配の無い専門の物理では大丈夫かというと、こちらがまた問題です。上述のように私は物理現象を研究するため計算機ばっかり使っておりますが、物理を理解することと、計算機を使うことは全く別物です。
 毎日バグ取りに明け暮れていると、理論解明というものとおよそ縁遠い世界となります。専門が「物性理論」といっても50年も前に確立した超伝導理論がどういうものであるか人に説明できない。桜井さんの有名な量子力学の教科書には、序文で「高尚な…を使っているくせに、空がなぜ青いのかを知らない無教養な理論家がいる」と批判しておりますが、この言葉は私の胸にぐさりと突き刺さります。

実際私の最も恐れている人は「計算機の使えない」理論家です。ハンス・ベーテという大理論家は今でも計算は何と自分愛用の計算尺で行っているということをどこかの記事で読んだことがあります。物性理論の大家アンダーソンも「計算機で全てが再現できるようになったとしても、それは単に自然が再現されるだけ」と述べております。創造性豊かな真の理論家の前では、私など計算機が無かったら何もできないただの人に過ぎません。
 こうしたことから、はじめの質問に戻って、「いったいお前は何ものか」といわれると答えに窮するのが常で、それ以来、自分を「エセ理論家」と呼ぶことにしております。

 さてここで、私どものやっていることの宣伝をさせていただきます。はじめに述べましたように、私たちは第一原理計算というもので、物性の解明、新物質のデザインなるものを行っておりますが、この第一原理計算というものは現在では非常に広範囲に浸透し、化学の分野では有名なプログラムはもはや実験家の必須アイテムとまで化しております。実験家が使えるということは、計算原理の詳細など知らなくとも原子の種類と構造だけを入力として後は全てプログラムが計算してくれるというものです。

 一方、固体物理の分野では、第一原理と言えども「第一」原理ではなく、実際いくつもの「第一」原理アプローチがあることから分かる通り、これだけにすがれば全て解決できるというものは存在しません。それだけに使う側もある程度それぞれのアプローチの詳細について知らなければなりません。
 まぁそういったところに私のような「エセ理論家」の存在理由があるのだと思いますが、それも時間の問題で、いずれ遅かれ早かれこの分野でもいくつかの第一原理計算プログラムコードが一般に流布され、誰でも使えるようになるのは間違いないと思います。もちろんそうなったときでも固体物理の問題が全て解決されるほど物理は簡単であるはずはありません。その時でも生き残れるのが真の理論家でしょう。

 今回は、私たち自身、この動きに加担すべく「OSAKA2000」というプログラムパッケージを一般公開しました。これにより本当に文字通り誰でも第一原理計算ができるようになると、私のような「エセ理論家」の生きる道はなくなることになります。つまりこれは自分自身の首を絞める行為になるというジレンマに陥るのです。しかしそのようなとき私が失業していようといまいとに関わらず、この様な動きは時代の枢勢なのでしょう。
 実際私たちの「OSAKA2000」以外にも、多くのプログラムコードが公開されていますし、商用のものも存在します。

 私たちの「OSAKA2000」は、擬ポテンシャル法を用いた電子の基底状態計算プログラムpwmを核とし、その上にバンドDOS計算、フォノン計算、分子動力学シミュレーションプログラムなどを統合したものです。上で述べた「実験家にも使える」ということをモットーとしておりますが、この目標は目指すべくしてなかなか達成しがたいものがあります。

 実際問題として、現在の固体に対する第一原理計算は、実験に合わせるような経験的パラメータこそ無いのですが(それゆえ第一原理計算は非経験的計算とも呼ばれる)、それぞれの計算方法に特有の計算パラメータ(基底関数の数など)はいくらでもあります。これらの計算パラメータを正しく扱えるには理論の理解と同時に、やはり計算の経験がものをいいます。つまり現在の「非経験的計算」はその言葉と逆に「経験」が必要です。
こうしたことから実際には固体物理の分野では、なかなか実験家の方が第一原理計算を行うということは難しいという印象があります。そしてそれは上で述べた理由で本質的にそうだと思いますが、しかし詳しい手引書を書くことでかなりの部分の障害は取り除けると信じております。ですので全く理論の中身に立ち入りたくないという人には難しいでしょうが、ある程度理論的バックグラウンドに興味を覚える人であれば使えるものと思います。
 そういうことを念頭に「OSAKA2000」ではこの種のパブリックドメインプログラムでは異例と思えるほどの詳しいマニュアルを準備しました。
 それはソースとともに私のホームページ(http://www.cmp.sanken.osaka-u.ac.jp/ )におきます。
 これまでくどくど私たちの宣伝をしたことを許して下さい。私がセンターを使う目的のスーパーコンピュータの使用感という場合、私にはこのプログラムを通じてのみの経験からしか言うことができないからです。
 中年が、時々スーパーコンピュータを使うときのドタバタについてはもう申すまい。とにかく動くようにできた後は、後は結果あるのみです。それも計算機である以上、同じ入力に対してはどれも数値精度内で同じ答えを出すことは分かり切っているのですから、ここで言う結果とは計算スピードのことです。世に言うベンチマークテストです。この種の比較の功罪については既に様々な議論がありますが、つまりコンピュータの値打ちは速さだけではないとかいった議論ですが、私たちの世界での計算機の価値観は非常にシンプル、計算機の原点「計算速度」に尽きます。そこにはグラフィックスの素晴らしさだの、ユーザーインターフェスの素晴らしさだの余計な飾りごとが一切入らない「計算機の原点」の世界です。

表1:ベンチマークテスト。Sigの計算。マシンに最適化された数学関数を用いて実行したものは備考に書いてある。
マシン名 CPU(クロック) (MHz) CPU時間(s) 備考 日付け
PowerMac8500
SX-4/64M2
SGI Origin2000
PPC,120 125
MIPS
R10000,195
13863
548
2896
1621



with NETLIB
Mar 22 1999
Mar 22 1999
Aug 3 1999
iMac
SGI2800/384
(ISSP sys,B)
IBM,7043-260
PoweMacG4
PPC/G3,333
MIPS R12000,400

Power2,200
PPC/G4,400
8909
1656
2519
4166
2180




with IMSL
Apr 6 2000
Apr 27 2000
May 23 2000
Oct 24 2000
Hitachi SR8000/60
(ISSP sys,A)
PowerMacG4


PPC/G4,733
423

2887
1561



with IMSL
Nov 8 2000

Jul 3 2001
SX-5/128M8
IBM,7044-270
312.5
Power3,375
204
1452
Jul 6 2001
Jul 30 2001
早速そのベンチマークをOSAKA2000でテストしてみました。その結果が表1です。
この結果をどう見るか。順位については、さすがスーパーコンピュータというべきか、SXについては一つ前のSX4でも断トツで一位で、それがSX5でさらに2.5倍くらいの早さになっております。

 しかし、高価なスーパーコンピュータだから早くて当たり前という見方もできます。そのような見方からすると、あるいはなんだこれくらいの差しかないのかとも思えます。特にこれはコストを考えるといっそうその気持ちが強くなります。この統計を取った3年前はSX4とSGIのOrigin2000との差が約5倍、そのOrigin2000と第三世代以前のPowerPCを用いているMacではさらに約5倍の開きがありました。しかしMacでさえ、PowerPC/G3やさらにG4を用いてこの2年間にOrigin2000を追い抜き、最適化されたコードを使えば、最速機種では今やかってのSX4の約3分の1というスピードまでになっております。統計はとっておりませんが、SGIや他のマシンでも現在の最速機を使えば似たような結果だと思います。これがたったこの3年の間で起きた現実です。

 よく指摘されていることですが、ワークステーションとスーパーコンピュータの差はどんどん詰まってきているようです。トップという座は、この世界では1年くらいしか保たれず、絶えずバージョンアップされないとだめです。
 したがって、センターが今回SX5にバージョンアップされたのは当然のこといえば当然なのでしょう。私の実感では自分の周りのマシンの五倍くらい速くなければスーパーコンピュータの恩恵を感じることができない気がします。Macレベルと比較するなら十倍欲しいところです。なにしろ1Gのメモリーを積んだ最速Macは50万円前後で購入できるからです。逆にこれくらい以上の差があれば、このクラスのマシンを持っていないところではちょっとできない計算が可能となります。例えば我々の「OSAKA2000」でいえば、64個のSi原子を用いてアモルファスシリコンのダイナミックスをシミュレートしておりますが、モデル計算のものでは数多くあるものの、第一原理計算で行うには今だにこのクラスの計算機でないととても太刀打ちできません。

 それにしても世界トップクラスの座を守るため、予算獲得も含め弛まぬ努力をされている(あるいはしなければならない)ことには、関係者の皆さんには全く御苦労さんとしかいいようがありません。どうぞ今後もこのトップの地位を保つべく、御努力お願いいたしますし、我々ユーザーもそのパワーを活かした成果を常に挙げなければならないと感じております。