Youtube100曲アップ達成しました!
fullnoteblogへようこそ

fullnoteblogは「音楽」「旅行」「食事」をテーマにしたブログです

【スパコン】理論演算性能FLOPSの計算方法

スポンサーリンク

21a3caf09a99be53dcd0a132fd64498e_s

 

スポンサーリンク

FLOPSとは?

FLOPS(フロップス、Floating-point Operations Per Second)はコンピュータ(CPU)の性能指標の一つで、

1秒間に浮動小数点数演算が何回できるかを示す値です。

CPUの仕様から計算式で最大ピーク処理性能(理論演算性能)を計算することができます。

 

注意点

理論演算性能はあくまで指標の一つです。

メモリ性能やネットワーク性能等のその他の指標が、重要(ボトルネック)になるアプリケーションも当然あります。

したがって理論演算性能だけでなく、実際に使うアプリケーションでの性能(実効性能)が重要です。

当たり前のことなのですが、わかりやすいFLOPSの値だけが一人歩きすることがよくあるのでだまされないようにしてください。

 

例題:どちらを買いますか?

A:理論性能100TFLOPS、実行効率1%のマシン

B:理論性能30TFLOPS、実行効率10%のマシン

 

スパコンランキングTOP500について

世界中のスーパーコンピュータの性能を競うランキングが毎年2回行われます。

6月頃にヨーロッパ行なわれるISC(International Supercomputing Conference)と11月頃アメリカで行われるSC(Supercomputing Conference)で発表されます。

このランキングで良い成績を残すことが、必ずしも良いシステムであるかは別の問題ではあるが、スパコン関係者のお祭り的な要素もあり毎年非常に盛り上がっている。

 

FLOPSの計算方法

1クロックあたりの演算数 x クロック(GHz) x コア数(コア数/CPU x CPU数/サーバ x サーバ数)

Intel® Xeon® Processor

Sandy Bridge より搭載した Intel AVX は 256 ビット幅なので 8 FLOPS/Clock。

Intel AVX 2 は FMA 命令の導入により 1 cycle で2つの FMA が実行できるので 16 FLOPS/Clock。

単精度だと、これらの演算回数は2倍。

https://ja.wikipedia.org/wiki/FLOPS

Xeon Gold 6148

1536GFLOPS = 32 x 2.4GHz x 20コア/CPU

https://www.intel.co.jp/content/www/jp/ja/products/processors/xeon/scalable/gold-processors.html

 

E5-2699 v4(Broadwell-EP)

774.4GFLOPS = 16 x 2.2GHz x 22コア/CPU

https://ark.intel.com/ja/products/series/91286/Intel-Xeon-Processor-E5-2600-v4-Product-Family

 

SX-Aurora TSUBASA

参考:https://www.pccluster.org/ja/event/2017/12/pcccSymp17_nec.pdf

2457.6GF = 32 x2 x3 x1.6GHz x8コア

PC Cluster Consortium資料

 

NVIDIA GPU

NVIDIA Tesla K40

1430GigaFLOPS = 2 x 0.745GHz x 960コア

 

NVIDIA P100 (Pascal)for NVLink-Optimized Servers

5304.32GigaFLOPS = 2 x 1.480GHz(boost) x 56SM x64コア/SM

 

NVIDIA V100 (Volta) for NVLink-Optimized Servers

7449.6 GFLOPS = 2 x 1.455GHz(boost) x 80SM x 32core/SM

https://devblogs.nvidia.com/parallelforall/inside-volta/

 

NVIDIA GTX 1080

8857.6GigaFLOPS(FP32)

2 x 1.73GHz(base) x 40SM x64SM

 

▼合わせて読みたい!
【比較】NVIDIA Pascal GPUのTeslaとQuadroとGTXの違いを見てみた

 

Intel Xeon Phi Processor 7250 (Knights Landing (KNL))

3046.4GigaFLOPS

32 x 1.4GHz(base) x 68core

Intel Xeon Phi Processor 7250 

 

京:SPARC64 VIIIfx

10.61PetaFLOPS

8 x 2.0GHz x 8コア/CPU x 1CPU/サーバ x 82,944サーバ

 

Shoubu(菖蒲):PEZY-SCnp、Xeon E5-2618Lv3

1.5PFLOPS

2 x 0.567GHz x 1024コア/CPU x 1280CPU

16 x 2.3GHz x 8コア/CPU x 320CPU

 

Sunway TaifuLight(神威 太湖之光):Sunway SW26010

125.4PFLOPS

A node of the TaihuLight System has a peak performance of (260 cores * 8 flops/cycle * 1.45 GHz) + (4 core * 16 flops/cycle * 1.45 GHz) = 3.0624 Tflop/s per node. The complete system has 40,960 nodes or 125.4 Pflop/s for the theoretical peak performance of the system.

http://www.netlib.org/utk/people/JackDongarra/PAPERS/sunway-report-2016.pdf

 

AVX利用時のクロックについて

15

http://pc.watch.impress.co.jp/docs/news/665641.html

実はAVX利用時のクロックはAVXを使わないときのクロックよりも低くなるようです。

Intel ARKのページのクロックはBase FrequencyでNon-AVX時のクロックのようなので、FLOPSの計算でAVXを考慮する場合は、AVX利用時のクロック周波数を使う必要が有ると思いますが、Intel ARKに情報がないことや通例からか、Intel ARKのページに載っているNon-AVX時のクロックを使って理論演算性能を求めることが多いようです。

TOP500のRpeakもNon-AVX時のクロックを使ってAVX有りとして理論演算性能が算出されているように思います。

 

Skylake-SPのAVXクロックは以下にありました。

Intel® Xeon® Processor Scalable Family Specification Update

 

Tensor 行列演算理論性能の算出方法ついて

一般的なスカラ計算は、A✕B+Cといったシンプルな計算式ですが、Tensor 計算は行列計算となります。

V100の場合、最大で4×4の行列同士の積和算(2FLOPS)を4回計算するので、

640基×1.455GHz×(16要素×4回×2 FLOPS)=119194G Tensor FLOPS≒120 となります。

ぱんだ先輩
ぱんだ先輩

うーん。。わからん。

 

まとめ:理論性能値はクロックと演算数の積というだけ。大事なのはメモリ性能等とのバランス

理論性能値は、クロックと演算数の掛け算で決まります。

LINPACKも基本的には数を積めば性能が上がります。

 

今改めて性能指標が見直されていますのが、理論性能よりもメモリバンド幅のほうが大事という意見もあります。

Byte/FLOPという指標があるくらいですから、理論性能だけでなく、メモリバンド幅だったり、I/O性能だったりのバランスも注意しておかないといけないですね。

 

▼合わせて読みたい
メモリバンド幅の計算方法

スポンサーリンク

美味しい食事と音楽に囲まれて毎日笑顔を大切に過ごしています。
ブログもYoutubeものんびりとやっています。(*^^*)

fullnoteをフォローする
この記事が気に入ったら
いいね!しよう
最新情報をお届けします。
コンピュータ
スポンサーリンク
fullnoteをフォローする
ふるのーとさんのブログ

コメント