LinuxでFLOPSを推定しますか?


13

LinuxシステムでFLOPSを推定するための迅速で簡単なプログラムを探しています。HPLを見つけましたが、コンパイルすることはいらいらすることが判明しています。必要なのは、FLOPSの概算であり、ベンチマークパッケージの調査や依存ソフトウェアのインストールに1日費やす必要はありません。そのようなプログラムは存在しますか?ループ内で2つのフロートを乗算するCプログラムを作成するだけで十分でしょうか?

回答:


5

問題は、フロップとはどういう意味ですか?クロックあたりの最も単純な浮動小数点演算の数だけに関心がある場合は、おそらくクロック速度の3倍になりますが、これはbogomipsと同じくらい無意味です。いくつかの浮動小数点演算は長い時間がかかり(除算、スターター用)、加算と乗算は通常高速です(クロックあたりfpユニットごとに1つ)。次の問題はメモリパフォーマンスです。最後のクラシックCRAYには31個のメモリバンクがあり、最終的にCPUパフォーマンスはメモリの読み取りと書き込みの速度によって制限される理由があります。Linpackはかつて本当のベンチマークでしたが、現在はキャッシュ(L1ではない場合はL2)に収まり、純粋に理論上のCPUベンチマークになっています。そしてもちろん、SSE(など)ユニットは浮動小数点パフォーマンスも追加できます。

どのディストリビューションを実行していますか?

これは良いポインタのように見えました:http : //linuxtoolkit.blogspot.com/2009/04/intel-optimized-linpack-benchmark-for.html

http://onemansjourneyintolinux.blogspot.com/2008/12/show-us-yer-flops.html

http://www.phoronix-test-suite.com/は、flopsベンチマークをインストールする簡単な方法かもしれません。

それでも、なぜあなたは気にしているのか、あなたはそれを何のために使っているのだろうか?意味のない数字が必要な場合でも、システムのbogomipsはdmesgの中にあります。


1
Phoronixはまさに私が探していたもののようです-ありがとう!私がこれを望んだ唯一の理由は、私が持っている計算能力のテラフロップスの数を尋ねる調査に記入していたからです。調査はそれほど重要ではなかったので、回答の正確性については心配していませんでした。それでも、「私たちのクラスターはXテラフロップスを実行できます。あなたが指摘しているように、その数は必ずしも実際の意味を持っているとは限りません。
molecularbear

7

どうやら「sysbench」ベンチマークパッケージとコマンドがあります:

sudo apt-get install sysbench(またはbrew install sysbenchOS X)

次のように実行します:

sysbench --test=cpu --cpu-max-prime=20000 --num-threads=2 run

比較の出力:

 total time:                          15.3047s

ref:http : //www.midwesternmac.com/blogs/jeff-geerling/2013-vps-benchmarks-linode


3
これはどのようにフロップを与えますか?
マーティントーマ

より一般的な「cpuベンチマーク」のように見えますbnikolic.co.uk/blog/hpc-howto-measure-flops.html
rogerdpack

3

球場の見積もりの​​場合:

リンパック

  1. ダウンロード(リンク
  2. 抽出する
  3. cd benchmarks_2017/linux/mkl/benchmarks/linpack
  4. ./runme_xeon64
  5. しばらく待つ(1時間以上)

Thinkpad T460p(Intel i7-6700HQ CPU)では、次のものが得られます。

This is a SAMPLE run script for SMP LINPACK. Change it to reflect
the correct number of CPUs/threads, problem input files, etc..
./runme_xeon64: 33: [: -gt: unexpected operator
Mi 21. Dez 11:50:29 CET 2016
Intel(R) Optimized LINPACK Benchmark data

Current date/time: Wed Dec 21 11:50:29 2016

CPU frequency:    3.491 GHz
Number of CPUs: 1
Number of cores: 4
Number of threads: 4

Parameters are set to:

Number of tests: 15
Number of equations to solve (problem size) : 1000  2000  5000  10000 15000 18000 20000 22000 25000 26000 27000 30000 35000 40000 45000
Leading dimension of array                  : 1000  2000  5008  10000 15000 18008 20016 22008 25000 26000 27000 30000 35000 40000 45000
Number of trials to run                     : 4     2     2     2     2     2     2     2     2     2     1     1     1     1     1    
Data alignment value (in Kbytes)            : 4     4     4     4     4     4     4     4     4     4     4     1     1     1     1    

Maximum memory requested that can be used=9800701024, at the size=35000

=================== Timing linear equation system solver ===================

Size   LDA    Align. Time(s)    GFlops   Residual     Residual(norm) Check
1000   1000   4      0.014      46.5838  1.165068e-12 3.973181e-02   pass
1000   1000   4      0.010      64.7319  1.165068e-12 3.973181e-02   pass
1000   1000   4      0.009      77.3583  1.165068e-12 3.973181e-02   pass
1000   1000   4      0.010      67.0096  1.165068e-12 3.973181e-02   pass
2000   2000   4      0.064      83.6177  5.001027e-12 4.350281e-02   pass
2000   2000   4      0.063      84.5568  5.001027e-12 4.350281e-02   pass
5000   5008   4      0.709      117.6800 2.474679e-11 3.450740e-02   pass
5000   5008   4      0.699      119.2350 2.474679e-11 3.450740e-02   pass
10000  10000  4      4.895      136.2439 9.069137e-11 3.197870e-02   pass
10000  10000  4      4.904      135.9888 9.069137e-11 3.197870e-02   pass
15000  15000  4      17.260     130.3870 2.052533e-10 3.232773e-02   pass
15000  15000  4      18.159     123.9303 2.052533e-10 3.232773e-02   pass
18000  18008  4      31.091     125.0738 2.611497e-10 2.859910e-02   pass
18000  18008  4      31.869     122.0215 2.611497e-10 2.859910e-02   pass
20000  20016  4      44.877     118.8622 3.442628e-10 3.047480e-02   pass
20000  20016  4      44.646     119.4762 3.442628e-10 3.047480e-02   pass
22000  22008  4      57.918     122.5811 4.714135e-10 3.452918e-02   pass
22000  22008  4      57.171     124.1816 4.714135e-10 3.452918e-02   pass
25000  25000  4      86.259     120.7747 5.797896e-10 3.297056e-02   pass
25000  25000  4      83.721     124.4356 5.797896e-10 3.297056e-02   pass
26000  26000  4      97.420     120.2906 5.615238e-10 2.952660e-02   pass
26000  26000  4      96.061     121.9924 5.615238e-10 2.952660e-02   pass
27000  27000  4      109.479    119.8722 5.956148e-10 2.904520e-02   pass
30000  30000  1      315.697    57.0225  8.015488e-10 3.159714e-02   pass
35000  35000  1      2421.281   11.8061  1.161127e-09 3.370575e-02   pass

Performance Summary (GFlops)

Size   LDA    Align.  Average  Maximal
1000   1000   4       63.9209  77.3583 
2000   2000   4       84.0872  84.5568 
5000   5008   4       118.4575 119.2350
10000  10000  4       136.1164 136.2439
15000  15000  4       127.1586 130.3870
18000  18008  4       123.5477 125.0738
20000  20016  4       119.1692 119.4762
22000  22008  4       123.3813 124.1816
25000  25000  4       122.6052 124.4356
26000  26000  4       121.1415 121.9924
27000  27000  4       119.8722 119.8722
30000  30000  1       57.0225  57.0225 
35000  35000  1       11.8061  11.8061 

Residual checks PASSED

End of tests

Done: Mi 21. Dez 12:58:23 CET 2016

1

FLOPSの測定に伝統的に使用されてきたベンチマークの1つがLinpackです。もう1つの一般的なFLOPSベンチマークはWhetstoneです。

詳細: ウィキペディアの「FLOPS」エントリWhetstoneエントリLinpackエントリ


2
あなたの答えに感謝しますが、私の目標は、フロップのn 'ダーティな見積もりをすばやく取得することです。WhetstoneとLinpackにはHPLと同じ問題があります-私はそれについて読み始め、その後20歳に見えるサイトを次々と見失ってしまいます。ソースコードを見つけることができた場合、依存ライブラリの束をインストールせずにコンパイルすることはできません。それでもエラーが発生します。これらすべてを機能させることはできましたが、時間を費やすほど重要ではありません。できれば、フロップスでジャスティングする比較的最近のソフトウェアが存在することを願っています。
molecularbear

1
見積もり?それは約4 * Hzです:1GHz CPUの場合は約4GFLOPSです:))
kolypto 09年

1

Intelのすぐに実行できるlinpackビルドを強くお勧めします:http ://software.intel.com/en-us/articles/intel-math-kernel-library-linpack-download/


1

クラスターについて言及したように、HPCCスイートを使用しまし。セットアップと調整には少し手間がかかりますが、この場合、ポイント自体は自慢ではなく、クラスターの受け入れ基準の一部でした。一部のパフォーマンスベンチマークは、ハードウェアが広告どおりに機能し、すべてが正しくケーブル接続されるようにするために不可欠です。

理論上のピークFLOPS数だけが必要な場合、それは簡単です。CPUに関するいくつかの記事(たとえば、realworldtech.comなど)をチェックして、CPUコアがクロックサイクルごとに実行できるDP FLOPSの数に関する情報を取得してください(現在のx86 CPUは通常4です)。次に、合計ピークFLOPSはちょうど

コア数* FLOPS /サイクル*頻度

次に、IBネットワークを使用するクラスターの場合、HPLのピークFLOPS(BTWはHPCCのベンチマークの1つ)の約80%を達成できるはずです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.