NECのコンピュータの話ですか、地球シミュレータは、NECの高速SコンSX-5(ベクトル型CPU)を640台使(5120個のCPU)った物でそれを高速ネットワークで繋いだ物ですね。これは、単一Sコン(スパコン、SuperComputer)が達成した技術ではないです。最大計算ノードは40TFlops(40兆回のFP演算・・・FPは浮動小数点演算のこと)となります。実用Flopsは解答があるとおりです
SX-5Sコン単一の仕様は、8Gflopsのベクトル型プロセッサ8個を実装したもので、最大計算ノード64Gflopsとなります。
これが、このUコン(UltraComputer)に640台使われて始めてこれだけの処理能力になりました。を利用した。(このコンピュータ群はSコンとはワンランク上のUltraComputerとして開発されました)
まず、この点分かりますかね。このUコンはSコンをさらにいくつかまとめたUltraComputerに相当します。
(次元が違うと言うことです)
次にPentium4の最大速度ですが、正確にはインテルの数値は最大値ではないですね。SSE命令ユニット(Pentium4、3共通ですがPentium3は単精度演算のみ)は、同時に4つの和と4つの積算処理を2クロックで行えたはずです。このタイプの処理なら最大で6Gflops(64ビット単精度)に達するはずです。ただし、一般的にこの処理が連続で行われることはないため、3Gflops<30億回のFP処理>(128ビット倍精度)になります。
元々、Pentium4を初めとするインテル系プロセッサ(IA-32)はちょっと上の物とは異なるCPUで、特定の命令を命令セットという形で浮動小数点演算の一部を最適化しているCPUです。上のSX-5に用いる物は、プロセッサ全体が浮動小数点演算に最適化されています。そのため基本命令だけで計算すると浮動小数点演算よりも整数演算器(ALU)を中心とするx86型のプロセッサになり、FP演算値の精度は低下します。
最大実用値はあくまで3G(絶対最大値は6G)となり、実際実用平均値は2,5G前後のはずですが、SSE命令が伴わない処理では速度はG(10億回のFP演算)を越えない可能性も高いです。
ちなみに、たいていの方はご存じのプレイステーション2(SCEI)がありますよね。これは、Pentium4より速いです。単一のプロセッサ(エモーションエンジンというCPU)で6~6,4Gflops(64億回の浮動小数点演算)が可能です。これには、10個の浮動小数点積和算ユニットと4個の浮動小数点除算ユニットを装備しており、単一のプロセッサの中に浮動小数点演算だけならPentium4-1,5GHzが2個分内蔵されているのですよね。
ついでに、もう一つ補足です。
「単純に言えば単精度ならクロック数=FLOPS」
は間違いですね。たまたま、Pentium4が倍精度で同じに見えただけですがPentium4でもそうではありません。クロック周波数は演算器その物の処理速度ではなく、命令を載せる回路(ベルトコンベア)の速度に過ぎないのです。
ベルトコンベアに一度に載せられる命令数が1つであれば、Flops=クロックになりますが、もし2つなら一度にクロック当たり2処理です。3つなら3処理、4つなら4処理となります。
よって、クロック=Flopsにはなりません。
それに、倍精度でPentium4は1,5Gflopsですし、単精度では3Gflopsでその時点で釣り合わないですからね。
ここはちょっと、分かり難いですね。見逃してください(笑)
最後に、分かりやすくPentium4で何台ぐらいあれば良いか書いてみますと、Pentium4-1,5GHzを平均値で約2Gflopsとして8Gflopsを達成するために、4個プロセッサが必要です。これで、SX-5に使われるベクトルプロセッサ(確か1プロセッサ500MHzで駆動する)1つ分となります。さらにSX-5コンピュータ本体にベクトルプロセッサ8個で4×8=32個ですね。それに640台のSX-5が必要で32×640
=20480個となります。
簡単な数字で出せば、5120個のベクトルプロセッサ×4個のPentium4ですね。
よって、Pentium4PCなら20480個のCPUに相当ですかね。単純計算ですけどね。
お礼
ありがとうございました。 素人には少し難しい説明文ですね(笑)。