x86 ベースの、普通の PC の利点はこれまで何度もみたように「性能のわりに
安い」ということにつきています。
しかし、安いというだけならもっと安いものがあり、それがソニー PS2 のよ
うな家庭用ゲーム機です。 1983 年(多分)に任天堂のファミリーコンピュータ
が発売になった時は CPU は 6502 で、 Apple II の CPU と基本的には同じも
のでした。安価であったとはいえ価格あたりの演算速度は 8087 をつけた PC
にはるかに劣るものであり、これで計算するというのは現実的な話ではありま
せんでした。
しかし、1990年代末の Sony PS2 やセガ DreamCast になると話がだいぶかわ
ります。どちらも、基本的には 4 演算の単精度 SIMD ユニット(まあ、 SSE
みたいなもの、但し PS2 では2つ)を装備し、同時期の x86 プロセッサを若干
上回る単精度演算ピーク性能を実現したからです。価格は数万円台の下のほう
であり、なかなか 10 万円は切らない PC に比べてかなり安いものです。
前項の GPU と違ってこれらのゲーム機は完全な計算機であり、ネットワーク
インターフェースがありハードディスクもつけることができ、 Linux が動作
し gcc でプログラムも実行できる、というものでした。このため、広く数値
計算に使われ、、、るようには全くならなかったわけです。
研究レベルでは例えば
Scientific Computing on the Sony PlayStation 2 といったプロジェクトもあったわけですが、
実際に使われるようにはなっていません。過去を振り返ってみると、私は
2000年にとある人に PS2 って数値計算に使えないか?と聞かれて以下のよう
に答えてました。
うーん、3年前から始めて、いまできてればいいかもしれないけど、そうでな
いとだめじゃないかなあ? PS の場合、 PS1 と PS2 でまったく互換性がない
(というか、 PS2 には PS1 のプログラムを実行するハードが入ってるから、
互換性はあるけど、 PS1 用に書いたプログラムが速く走るわけではない)の
で、次に速くなったものができたらコンパイラとか一からやりなおしだし。
この手のことを考えるなら、 PS2 のチップはやめた方がいいと思う。という
か、少なくとも
-
PowerPC (G4) の Altivec
-
AMD Athlon の 3D Now!とか Intel の SSE
-
日立 SH-4 (DreamCast の CPU)とか TI の DSP
に比べて数年先を考えた時に PS2 チップに価格/性能優位性が残っているか?
というようなことは検討してから始めないと。 1GHz の K7や PIII は単精度
なら実は 4 Gflops のピーク性能を持っていて、 PS2 の 5.6 Gflops と変わ
らないから。値段も800MHz とかの機械なら本体 10 万を切っているので、現
時点の名目ピークでも PS2 の相対優位は2-3倍程度、実効性能では??という
ことになる。
本当に x86 系に対して価格で優位を実現したいなら、安い SH-4 や TI の
DSP を使ってなんか作らないといかんと僕は思うけど、、、
そんなに外してはいなかったと思います。一つの問題は、ゲーム機は 5 年に
一度しか新しいのがでない、という、昔のメインフレームやベクトル計算機並
の開発サイクルをもっていることです。 このため、発表当初には普通の PC よ
り速く見えたとしても、発売の時には差がぐっと小さくなり、コンパイラとか
OS とかがそろう頃には遅くなります。まあ、数年で追い越されてしまうのは
元々性能差が圧倒的ではないからではあります。 また、 GPU と同様倍精度演
算が遅いので応用範囲が極めて限られます。
今年から来年にかけて新しいゲーム機、 Xbox 360 や PS3 がでます。これら
はやはり単精度で 200Gflops 程度と高いピーク性能を持ちますが、倍精度演
算はあまり速くないのは基本的には PS2 と同様です。といっても、 PC より
はるかに遅かった PS2 とは違い、 PC 並にはなっているようですが。
とはいえ、やはり 1-2年後の PC や GPU に比べてどうか?というと性能差は
非常に小さいかあるいは逆転されるわけですから、科学技術計算用に普及する
かというとそういうことはあんまりありそうにない、と思います。もっとも、
PS3 のプロセッサチップである CELL については、倍精度演算強化版の開発
等も噂としてはあり、そういうものが近い将来にでてくるならば普及する可能
性もあるかもしれません。