2009年11月30日

◆ 円周率とスパコン

 スパコンによる円周率の計算の記録を、普通のパソコンを使って更新したという。 ──
    ( ※ 本項の実際の掲載日は 2010-01-13 です。)


 円周率の計算の記録は、これまではスパコンによって樹立されていたが、普通のパソコンを使って記録が更新されたという。
 《 仏技術者が円周率計算世界一 筑波大記録破る 》
 筑波大学計算科学研究センターが昨年8月、スーパーコンピューターで樹立した円周率の計算の世界記録が 11日までに、パリ在住の情報処理技術者によって破られた。
 131日間かけて2兆6999億9999万けたまで計算した。
 筑波大のスーパーコンピューター「T2K筑波システム」が当時の新記録2兆5769億8037万けたを計算するのにかかった時間は、両計算を合わせて73時間36分。
 ベラールさんは「筑波大の機器は、私のものより計算速度が2千倍近く速い」と認めた上で「これまでスーパーコンピューターが樹立してきた記録を2千ユーロ(約27万円)弱のコンピューターが破った点に意味がある」と語った。
( → 共同通信 2010-01-11
 読めばわかるとおり、スパコンよりもパソコンの方が優れている、という話ではない。
 今回の計算では、パソコンの速度はスパコンの 2000分の1である。ただし、計算時間は 2000倍ではなく、45倍にすぎない。ということは、それだけ、今回の計算方式の方が優れていることになる。
 どのくらい優れているかというと、
  2000 ÷ 45 ≒ 45
 であるから、45倍も優れていることになる。画期的な計算方式を案出したことになる。立派な業績だ。



 さて。このあとは別の話題。(スパコン開発。)

 この件で思い出すのは、円周率の計算で名を馳せた学者だ。日本の 金田康正(東大教授)という人。スーパーπというソフトの開発者として知られる。
 この人は、円周率の計算(計算機による計算)のために、一生をかけたと言える。( → 本人のサイト
 しかしながら、彼がセコセコと少しずつ改良していった方式も、今回のフランス人の方式によって、一挙に大幅に凌駕されてしまったことになる。金田康正の生涯の業績も、もはやゴミと化してしまったことになる。

 円周率の計算というのは、そもそも、意味がない。ただのお遊びとしての意味ぐらいならばあるし、ベンチマークテイストの一つとしてぐらいの意味ならばある。しかしながら、円周率はもともと無理数だとわかっているのだから、いくら計算しても、意味はない。何らかの有益な真実が発見されるというわけでもない。
 余興として研究するならばともかく、こんなことのために生涯を費やすなんて、よほどセンスの悪い人間だな、……と前々から思っていたのだが、実は、彼は、そのセンスの悪さを発揮して、先日、とても有名になった。
 「事業仕分けでスパコン予算の廃止」
 というやつだ。
 彼の主張は、ここにもある。
  → ITpro
 彼の主張は、
 「白紙の状態から、これまでとは全く異なるアーキテクチャで科学や技術の計算に特化した汎用のハードを、2つ以上のセンターで競争させながら開発やスパコン利用を行うべきだ」
 ということだが、その夢想ぶりには、苦笑せざるを得ない。「技術開発というものは、下手な段階から少しずつステップアップさせて作るものだ」ということを理解できずに、「1位でなく2位になるならばやめてしまえ、かわりのものを白紙状態から作れ」と言い出す。
 比喩的に言えば、「石川遼はゴルフで世界1位になれないのならば、ゴルフなんかやめてしまえ。かわりに他の分野で画期的な業績を上げよ」というようなものだ。
 つまり、「ステップアップ」ということも理解できないし、「少しずつ高めていく」ということも理解できない。「千里の道も一歩から」ということを理解できずに、「一挙に千里を進めないのであれば、歩くことは無駄だ」と考える。
 また、「2位になる方式をやめて、いきなり画期的なものを作れ」という夢想じみた主張に至っては、「おまえが自分でやってみろ」と言ってやりたくなるね。自分自身は、一生をかけても、画期的な業績は何一つできなかった。画期的な業績をあげたのは、今回のフランス人技術者だ。
 金田康正は、自分の業績と、今回のフランス人の業績とを比べた上で、ものを言ってほしいものだ。

 ──

 特に、例の事業仕分けの最中、金田康正の発言はあまりにも低レベルすぎる。発言記録は、下記にあるので、お暇な人は読んでみるといいだろう。

  → 事業仕分けの実況

 金田康正の主張は、スパコン開発でもなく、開発中止でもなく、
 「一度立ち止まって、一年ほどかけて見直しをやる」
 というもの。しかし、日進月歩のスパコン開発で、一年間を無駄にすごせば、生ものの賞味期限が切れるだけのことだ。一年後に「ストップでなく ゴー」という結論が出たとしても、そのときにはもはや賞味期限切れだ。こんな馬鹿げたことを主張しているのは、彼だけだろう。
 「一年間、ただ考えているだけ」
 なんてことをめざすぐらいなら、最初から「すべて中止」という方針を出した方が、まだマシだ。彼は「日本はスパコン開発をしない」というふうに主張すればいい。

 もしかしたら、彼は「他の方式で」と主張するのかもしれないが、他の方式ができていない時点で、単に「中止」という方針を出しても、他の方式は浮上しない。そもそも、「事業仕分け」というのは、「それをやめて金を浮かせる」ということのためにある。「AかBか」ではない。「富士通方式か、他の方式か」ではない。「スパコンに金を投入するか、その金を国庫に入れるか(たとえば高速道路無料化の資金にするか)」という選択の問題だ。

 上の実況を見てもわかるが、金田康正は言葉がまったく滅茶苦茶だ。自分で何を言っているのかわからないのだろう。トンチンカンなことばかりを語っている。言語能力があまりにもひどすぎる。数字の処理ばかりをしているうちに、日本語の使い方(というか論理力)を、忘れてしまったようだ。
 こういう「計算機馬鹿」がスパコン開発の是非を論じる場に出てくるのだから、呆れるほかない。彼のやったことは何かと言えば、「馬鹿が賛成しているから」という理由で、「スパコン開発中止」に否定的な結論が出た、ということぐらいだろう。「スパコン開発中止」と唱えるのが馬鹿であるならば、「スパコン開発中止」というのが愚策であることがわかる。……そのくらいの意味ぐらいしかない。

 ともあれ、彼のやっていることは、他人の足を引っ張ることでしかない。しかも、自分が財務省にまんまと利用されているだけだ、ということを、まるきり理解できない。ピエロとなって踊らされているだけなのに、そのことにまったく気づいていない。(金の切りつめのために利用されているだけなのに、日本のスパコン開発のために貢献しているつもりでいる。どうしようもない、度し難さ。)
 フランス人の新方式が出た時点で、金田康正はさっさと引退してもらいたいものだ。



 [ 余談 ]
 オマケで言うと、GRAPE の牧野淳一郎は、今回のスパコン開発について、「コスト・パフォーマンスが大事だ」という趣旨で批判している。これは、なかなか頭がいい。
 というのは、「コスト・パフォーマンスが大事だ」と述べることで、「コスト・パフォーマンスを重視」という GRAPE の開発資金を増やそうとしているからだ。富士通のスパコン騒ぎにかこつけて、自分の予算を増やそうとしている。どさくさまぎれで、金を戴いてしまおう、というわけ。(火事場泥棒というわけではないが。)……世間の大騒ぎを利用して、自分の有利になるように取り計らおう、というわけ。頭がいいね。(私は一円も儲からないから、牧野淳一郎には遠く及ばない。  (^^); )

 もっとも、GRAPE の開発予算をいくら増やしても、2年後に富士通のスパコン並みの性能のものができるわけではない。2年後どころか、5年たっても無理だ。そのことは、牧野淳一郎自身が、科学雑誌「ニュートン」で示唆している。つまり、スパコンのようなものは、スパコンのタイプごとに、向き・不向きがある。というか、解くべき計算問題ごとに、適したスパコンがある。どこにボトルネックがあるかが、それぞれの場合ごとに異なるからだ。
 GRAPE で高速に計算できるような問題もある。一方、GRAPE では高速に計算できないような問題もある。GRAPE はたしかに高速処理ができるが、それが実力を発揮できる範囲は限られている。
 富士通のスパコンは、IBM のスパコンがなければ、世界1位になるはずのものだった。IBM 以外のスパコンメーカーをしのげるだけの性能を持っている。それだけのものは、開発する価値はあるのだ。それがベストであるかどうかは、数年前の時点では判断できなかったし、今でも判断できないが、少なくとも、「今すぐ中止するべし」というほどのものではない。
 一方、GRAPE は、どんなに進歩しても、IBM の次期スパコンに追いつくことは不可能だ。日本のスパコン開発の取るべき道が GRAPE でないことだけは、確実だろう。
( ※ ただし、GRAPE をやめてしまえ、と述べているわけではない。「あれもこれも全部やれ」というのが、私の主張だ。)
( ※ 「あれもこれも」のうちの一つには、NEC とインテルとの共同開発も含まれる。ただしこれは、政府資金を必要としていないようだから、別に言及することはない。) 

   


 【 追記 】
 円周率の計算で使われた、過去の数式は、下記にある。
  → Wikipedia 「円周率の歴史」
  ※ 金田康正が用いたのは、高野喜久雄の公式。

 今回のフランス人の用いた公式は、下記にある。(注)
  → http://en.wikipedia.org/wiki/Bellard%27s_formula
 つまり、このフランス人は、新しい数学の公式を発見した数学者なのだ。金田康正みたいに、他の数学者の公式を流用したのとは違う。

 また、高野喜久雄の公式は、ガウスの公式をちょっと修正した程度で、独自性は少ない。
 その点からも、今回のフランス人の業績が傑出しているとわかる。彼の名は、ファブリス・ベラール( Fabrice Bellard )。

 (注)
 そうではない、というコメントが、あとで寄せられた。
   2011-05-29 23:31
 のコメントを参照。
posted by 管理人 at 19:00| Comment(4) | 科学トピック | 更新情報をチェックする
この記事へのコメント
最後に 【 追記 】 を加筆しました。
 タイムスタンプは 下記 ↓
Posted by 管理人 at 2010年01月13日 22:21
あとで考え直したが、このパソコンの記録は、計算方式が抜群に優れていたのではなくて、次のことが理由になっていたのだと思う。
 「2兆桁以上ものデータになると、データの量が大きくなりすぎるので、計算処理の速度よりも、データの出し入れの方がボトルネックになる」
 
 2兆桁は何バイトか……と計算するのは面倒だからやめておくが、ものすごいデータ量になる。それを出し入れするために時間がかかる。
 計算処理は、スパコンが 2000倍だとしても、データの出し入れには、スパコンが 2000倍ということはないだろう。一般に、HD の速度に比べて、SSD の速度は2倍ぐらい。DDR だともっと早いが、それでも数倍か十数倍ぐらいだろう。2000倍にはならない。
 つまり、スパコンの計算速度が 2000倍で、データの出し入れ速度が 10倍だとすると、桁数が少ないときには、スパコンの速度は2000倍になるが、桁数が極端に多くなると、スパコンの速度はデータの出し入れ速度に依存して、20倍ぐらいになりそうだ。となると、2兆桁のトータルで、45倍ぐらいの速度になったとしても、おかしくない。

 要するに、「円周率の計算」というのは、(桁数が多くなると)データの出し入れ速度に依存するような計算だから、あまりスパコン向きではないのだ。むしろメモリのあたりがボトルネックとなる。
 その意味では、GPU を使う計算機も、円周率の計算には向いていないだろう。

 ついでに言うと、普通のパソコンでは、「スーパーπ」というソフトを使うと、かなりたくさん計算できる。3千万桁程度。今回のフランス人の業績では、パソコン本体は普通だが、HDD を特別に5台も増設している。計7.5TB。やはり HDD のような記憶装置がポイントなのだろう。

 js でも計算できる。16桁まで。
 次に処理式を示す。(使い方は冒頭の2行。)
( ※ 私の書いたプログラムではない。ネットから拾ってきたもの。)
Posted by 管理人 at 2010年01月14日 21:27
//Windows環境なら以下をメモ帳にコピペして、拡張子を"js"に変更して実行
//ガウス=ルジャンドルのアルゴリズム

var loop = 3;//ループ回数 これ以上増やしても無駄だから1や2に減らしてみてもいい
var a = 1;
var b = Math.sqrt(2) / 2;
var t = 0.25;
var p = 1;
var x = 0;
var y;
var pie;
var i;

for (i = 0; i < loop; i++){
x = (a + b) / 2;
y = Math.sqrt(a * b);
t -= p * (a - x) * (a - x);
p = 2 * p;
a = x;
b = y;
}

pie = (a + b) * (a + b) / (4 * t);

var WSHShell = new ActiveXObject("WScript.Shell");
WSHShell.Popup(pie, 0, "ガウス=ルジャンドル", 0);
Posted by 管理人 at 2010年01月14日 21:28
追記の
> 今回のフランス人の用いた公式は、下記にある。
は、Bellardさんが作った公式ではあるものの今回の全桁計算にも検算にも使ってはいません。Chudnovsky級数を使っているとのことです。
http://bellard.org/pi/pi2700e9/pipcrecord.pdf
Posted by 高村 at 2011年05月29日 23:31
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。
過去ログ