Sun Oct 17 13:28:39 PDT 2004 [computer-go] Computer Go hardware

>あなたのシステムは、それ自体、"nothing short of"スパコンだ[*1]


"nothing short of"(私の辞書にはこの句がない)とはどういう意味でしょうか。もし、スパコンですらない、という意味なら同意はしません。私は現在、(Hydraの)32/64プロセッサ()版を作っています。そのマシンは、ピークで毎秒3億局面を探索するようになるでしょう。1つの局面は(Cで書いたものとして)40,000命令になるので、私の計算が正しいなら120テラIPS[*2]になります。

32/64は恐らく合理的に使用することができるプロセッサ数です。並列化による高速化は、プロセッサ数が多くなると共に急激に減少します。日本の地震マシン[*3]は、次のHydraのFPGA群編成(クラスタ)ほど効率的でなく、間違いなく(Hydraより)遅いでしょう[*4]。囲碁の場合、使えるプロセッサの数は、恐らく多くなります。しかし、1024個以上のプロセッサマシンにおいては、主にプロセッサ間の通信で忙しくなり、それ以上増やしても変わりません。

私は、多並列のZugzwang[*5]チェスプログラムのコードを得ました。そしてプログラムの問題が判りました。それは大きな通信ループと、通信の空き時間の中でのみ僅かなステップのチェス計算(探索)しか行われていないかった、ということです。これはそのようなシステムを走らせておく唯一の方法で、ZugzwangではCPU当たりの探索ノード数が極端に低かったのです。

:32個の物理ノードを持ち、各FPGAには2つのチェスコアが入っているので、32/64プロセッサマシンと私は呼んでいます。


>コンピュータ囲碁が、組織された学者によって優位に立たれた段階まで成熟していないので、私たちの多くは嬉しく思う。しかしそれは、まもなく起きるだろう。


私は組織の中の学者では全くありません。ChessBaseからの僅かな予算でBrutusFPGAマシンを開発した、フリーの専門チェスプログラマです。今年から始まったプロジェクトは Hydraと呼ばれます。Hydraは、アラブ首長国連邦のPal-Computingに資金援助されています。コンピュータチェスは、確かにあまりにもプロ的で厳しくなりました。そして更に著しい開発競争を引き起こしました。私はこの空気が好きではありません。Graz 2003の中に、チェス世界選手権より遥かに愉快なコンピュータ囲碁大会を見つけました。


[*1] Chrillyも解釈に困っているようだが、私も書き手の意図が正しくは判らない。「あなたのシステムは、スパコンに届かない、それ自体が無(意味なもの)だ」と取れるので、単に嫌味を言われているだけなのかもしれない。('05/06/10) "nothing short of" は「他ならない」という意味だそうである(コメント参照)。exactlyと等価なようで、「あなたのシステムは、それ自体スパコンに他ならない」の意となる。ニュアンスを厳密に訳すると「スパコンであって、それ以外の何者でもない」というところだろうか。

[*2] 「テラ」は1012倍を意味する。原文では、"120 Tera-MIPS" と記されているが、"120 Tera-IPS" の誤りである。それはともかく、この数字の妥当性を検証してみよう。40,000命令を仮に10[clocks]で実行したとすればIPC値は4,000となり、64個のコアの稼働率が100%の時、総IPC値は単純に64倍の256kとなる。そのコアがユーザクロック50MHzで動くものと仮定すれば、128TIPSとなるので試算上は、ほぼ間違っていない。また、50MHzで動くということは、1局面あたり10[clocks]で毎秒500万局面となるので、500万×64=3.2億となり、Chrillyの「ピークで毎秒3億局面」という発言と符号は一致する。

[*3] 原文では、"The Japanese earthquake-machine"となっている。ここでいう「日本の地震マシン」とは「地球シミュレータ ('02年3月11日運転開始) NEC SX6」のことを指しているものと思われる。当時('04/11まで)、この世界最速のウルトラコンピュータは、ベクトルプロセッサ総数5,120個、主記憶容量10TB、ピーク性能40.96TFLOPS、実測稼動率87.55%で35.86TFLOPS、と公表されている。

[*4] 計算機資源を、ある程度自在に分割して複数のプログラムが同時多目的で使えるので、Hydraと同じ次元で語られても日電社員が怒るだけである。また、ベクトルマシンは日本のお家芸であるから、VPPシリーズを手掛けた富士通社員も怒って可。仮に現Hydraの持つ全FPGAで浮動小数点乗算が出来るようにプログラミングしても、1TFLOPSどころかせいぜい数十GFLOPSの性能しか出せない。短距離選手がマラソン選手相手に、その瞬発力や最高速を自慢しても意味がないのと同じだ。付け加えて、Hydraで使用されている光ネットワークは、結局市販品レベルで速いとは言えない。

[*5] Zugzwang(ツークツワンク)とは、本来「自分の手番であっても、状況が不利なる手しか残っていない局面のこと」なのだが、ここではZUGZWANGという名前のチェスプログラム を指している。