FLOPS理論値計算方法 : やっぱり Sun がスキ! やっぱり Sun がスキ!

やっぱり Sun がスキ!

http://blogs.sun.com/yappri/date/20070726 2007年 7月 26日 木曜日

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/

投稿されたコメント:

当記事著者の自己コメントです。
記事公開時に、「FLOPS 実測値は、理論値とほとんど変わらない値が出せる事がほどんとです。」と記述しておりましたが、実行効率は使用するベンチマークツール等によって大きく変わる、というご意見を頂きました。
(「ほとんど変わらない」なんて、とても言えない、と。)
不勉強を反省し、訂正します。

Posted by 192.18.200.37 on 8月月 27日, 2007年 at 11:35 午前 JST #

コメント
  • HTML文法 不許可