2007年 7月 26日 木曜日
やっぱり Sun がスキ!
FLOPS理論値計算方法
ユーザ様から要求される仕様として、以下のようなものをよく目にします。
「装置全体の理論的な演算性能が 200 GFLOPS 以上であること」GFLOPS = Giga (10^9) FLoating point number Operations Per Second
ということで、これは 1 秒当たり何回の浮動小数点演算ができるかという性能値の事です。
FLOPS 実測値は LinPack というベンチマークツール等での測定が必要ですが、
FLOPS 理論値は、実際に測定しなくても、下記のような簡単な計算により算出が出来ます。
FLOPS 理論値 = ( クロック ) x ( コア数 ) x (コアあたりクロックあたりの浮動小数点演算回数)
例えば、E20K (28 x US-IV+ 1.95GHz) の場合、
US-IV+ では、浮動小数点演算をコアあたりクロックあたり 2 回実行しますので、
( 1.95 x 1000 x 1000 x 1000 ) x ( 2 x 28 ) x 2 = 218.4 GFLOPS
M9000 (24 x SPARC64 2.28GHz) の場合、
SPARC64 では、浮動小数点演算をコアあたりクロックあたり 4 回実行しますので、
( 2.28 x 1000 x 1000 x 1000 ) x ( 2 x 24 ) x 4 = 437.76 GFLOPS
ちなみに、M9000-64 (フル構成) は、64 CPU 搭載出来ますので、
( 2.28 x 1000 x 1000 x 1000 ) x ( 2 x 64 ) x 4 = 1167.36 GFLOPS
= 1.16736 TFLOPS
ということで、単体で 理論値 1 TFLOPS を超える性能があります。
ところで、FLOPS 実測値は、理論値からは落ちる値となります。
たとえば、上述の M9000-64 では、実測値 1.032 TFLOPS をマークしています。
参照: http://www.sun.com/servers/highend/m9000/
Posted at 12:46午後 7 26, 2007 by noriho in Sun | 投稿されたコメント[1]
当記事著者の自己コメントです。
記事公開時に、「FLOPS 実測値は、理論値とほとんど変わらない値が出せる事がほどんとです。」と記述しておりましたが、実行効率は使用するベンチマークツール等によって大きく変わる、というご意見を頂きました。
(「ほとんど変わらない」なんて、とても言えない、と。)
不勉強を反省し、訂正します。
Posted by 192.18.200.37 on 8月月 27日, 2007年 at 11:35 午前 JST #