【ベンチマーク】「自作パソコン」VS「iphone」VS「スパコン」

なんとなく自作PC作ったのでベンチマークしてみます。

今回のベンチマークはお遊びなので、正確なベンチマーク結果や比較はできていません。

あくまで目安です!お遊びです!!

 

使用機器

ベンチマークをする機器は以下になります。

【自作パソコン】

CPU:Intel Corei7 9700K
CPUクーラー:虎徹 MarkⅡ
メモリ:CORSAIR PC4-21300 (DDR4-2666MHz)、32GB (16GB×2枚)
マザボASUS ROG STRIX Z390-F GAMING
グラボ:ASUS NVIDIA GTX 1660Ti
SSD:Samsung 970 EVO 250GB - NVMe PCIe M.2 2280 SSD
  WD 内蔵SSD M.2-2280 / 500GB SATA3.0
OS:Windows10 Pro(Ver 1903)

 

iphone

機種:iphone XS
OS:iOS 12.4

 

ベンチマークアプリ

Intel Math Kernel Library Benchmarks

LINPACKってやつです。

 

入手方法

パソコン版

goole先生で「Intel LINPACK」で検索して多分一番上にあります。
一応下にリンク張っておきます。

 

software.intel.com

 

今回はWindows10で実行するので、上のリンクからWindows版を選びます。

2019年8月時点では「package w_mklb_p_2019.4.003.zip」でした。

 

iphone版】

appストアで「LINPACK」で検索して上に出てきた物です。

 

 実行

パソコン版

ダウンロードしたファイルを解凍して、コマンドプロンプト上から「runme_xeon64.bat」を実行します。

ファイル名にxeonとあるのでxeon」に明らかに最適化された物だと思います。
今回の「Corei7」だと結果の値が上下する可能性が大です。

f:id:yarufu101:20190812181421j:plain

 

実行後

f:id:yarufu101:20190812181443j:plain

あとは待つのみです。
プロンプトが返ってきたらベンチマーク終了です。
16:31~16:48までかかり、約20分かかっています。
実行した「runme_xeon64.bat」と同じフォルダに「win_xeon64.txt」というファイルができているのでメモ帳で開きます。これに結果が記載されています。

 

 

iphone版】

f:id:yarufu101:20190817015138j:plain

「Problem size」と「Number of runs」を入力し、「Run benchmark」を押すだけです。
あと、マルチスレッドモードにするかどうかの選択もあります。

 

結果

【パソコン版の結果】

「win_xeon64.txt」の内容

何も設定していないけどコア数とか勝手に認識されていますね。
結果の内容は以下になりました。

Sample data file lininput_xeon64.

Current date/time: Mon Aug 12 16:31:09 2019

CPU frequency: 4.912 GHz
Number of CPUs: 1
Number of cores: 8
Number of threads: 8

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=16200901024, at the size=45000

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

Size LDA Align. Time(s) GFlops Residual Residual(norm) Check
1000 1000 4 0.004 157.4296 1.029732e-12 3.511650e-02 pass
1000 1000 4 0.003 216.6494 1.029732e-12 3.511650e-02 pass
1000 1000 4 0.002 275.4208 1.029732e-12 3.511650e-02 pass
1000 1000 4 0.002 280.3046 1.029732e-12 3.511650e-02 pass
2000 2000 4 0.020 261.7479 4.717726e-12 4.103844e-02 pass
2000 2000 4 0.021 260.0315 4.717726e-12 4.103844e-02 pass
5000 5008 4 0.258 322.6260 2.209355e-11 3.080767e-02 pass
5000 5008 4 0.257 325.0066 2.209355e-11 3.080767e-02 pass
10000 10000 4 1.866 357.4069 9.699100e-11 3.420001e-02 pass
10000 10000 4 1.882 354.3333 9.699100e-11 3.420001e-02 pass
15000 15000 4 5.966 377.2272 2.200672e-10 3.466095e-02 pass
15000 15000 4 6.019 373.8784 2.200672e-10 3.466095e-02 pass
18000 18008 4 10.712 363.0144 2.976475e-10 3.259605e-02 pass
18000 18008 4 10.831 359.0403 2.976475e-10 3.259605e-02 pass
20000 20016 4 14.887 358.3056 4.458855e-10 3.947063e-02 pass
20000 20016 4 14.913 357.6726 4.458855e-10 3.947063e-02 pass
22000 22008 4 19.789 358.7597 4.194591e-10 3.072373e-02 pass
22000 22008 4 19.738 359.6923 4.317882e-10 3.162679e-02 pass
25000 25000 4 29.157 357.3078 5.159899e-10 2.934250e-02 pass
25000 25000 4 29.025 358.9318 6.053866e-10 3.442617e-02 pass
26000 26000 4 32.518 360.3738 6.583263e-10 3.461677e-02 pass
26000 26000 4 32.317 362.6183 6.583263e-10 3.461677e-02 pass
27000 27000 4 35.972 364.8197 6.465606e-10 3.152958e-02 pass
30000 30000 1 49.611 362.8557 8.296020e-10 3.270300e-02 pass
35000 35000 1 78.632 363.5373 1.206522e-09 3.502351e-02 pass
40000 40000 1 115.632 369.0151 1.501689e-09 3.339808e-02 pass
45000 45000 1 166.203 365.5404 1.609872e-09 2.832400e-02 pass

Performance Summary (GFlops)

Size LDA Align. Average Maximal
1000 1000 4 232.4511 280.3046
2000 2000 4 260.8897 261.7479
5000 5008 4 323.8163 325.0066
10000 10000 4 355.8701 357.4069
15000 15000 4 375.5528 377.2272
18000 18008 4 361.0274 363.0144
20000 20016 4 357.9891 358.3056
22000 22008 4 359.2260 359.6923
25000 25000 4 358.1198 358.9318
26000 26000 4 361.4960 362.6183
27000 27000 4 364.8197 364.8197
30000 30000 1 362.8557 362.8557
35000 35000 1 363.5373 363.5373
40000 40000 1 369.0151 369.0151
45000 45000 1 365.5404 365.5404

Residual checks PASSED

End of tests

2019/08/12
16:48

 内容がわからないので、「Performance Summary」の「Average」に注目してみます。

Performance Summary (GFlops)

Size   LDA   Align.  Average   Maximal
1000   1000   4   232.4511   280.3046
2000   2000   4   260.8897   261.7479
5000   5008   4   323.8163   325.0066
10000  10000   4   355.8701   357.4069
15000  15000   4   375.5528   377.2272
18000  18008   4   361.0274   363.0144
20000  20016   4   357.9891   358.3056
22000  22008   4   359.2260   359.6923
25000  25000   4   358.1198   358.9318
26000  26000   4   361.4960   362.6183
27000  27000   4   364.8197   364.8197
30000  30000   1   362.8557   362.8557
35000  35000   1   363.5373   363.5373
40000  40000   1   369.0151   369.0151
45000  45000   1   365.5404   365.5404

Residual checks PASSED

 単位は「G(ギガ)Flops」で上記より結果は大体232~369G(ギガ)Flopsです。
G(ギガ)は「ギガが足りない」とかのアノ単位です。(109倍の量)

 

Flopsとは?

Flopsとは、コンピュータが1秒間に処理可能な浮動小数点演算の回数を示す単位です。
例えば、1Flopsの場合、1秒間に1回浮動小数点演算をしていると言うことになります。
10Flopsの場合、1秒間に10回浮動小数点を計算みたいな。

 

よって、ベンチマークの結果で232~369GFlopsなので、1秒間に232~369G(ギガ)回浮動小数点演算をしていることになるようです。

 

iphone版の結果】

f:id:yarufu101:20190817015801j:plain

「Problem size」と「Number of runs」を変更し、3種類のベンチマークを取りました。
「Problem size」と「Number of runs」はパソコン版と同じ値に合わせています。
「Problem size」を「10000」にするとアプリが落ちたので「1000」「2000」「5000」の3種類です。

結果、Avg Mfopsを見ると、3300~5688MFopsになります。
パソコンとは単位が違いますね。G(ギガ)でなく、M(メガ)になりました。

 

 

比較してみる

パソコンでは、232~369GFlops、iphone3300~5688MFopsでした。

パソコン1台、iphone1台だけベンチマークして数が出ても全くピンとこないので他のものと比較してみます。
 TOP500というサイトでスパコンベンチマークが載っているサイトがあるので、こちらと比較してみます。

ネットで確認したところ、TOP500では「LINPACK Benchmark for Clusters」ってのを使っているようで、今回のベンチマークは「for Clusters」ではないので、お遊び程度の比較になります(情報不確定.この辺よくわかりません)。 

www.top500.org

f:id:yarufu101:20190812193335j:plain
2019年6月の1位が実行速度(Rmax)「148,600.0TFlop」
パソコンと比較しても、まず単位が違います!ギガでなくテラでした。x1000倍でした。

自作PCの232~369GFlopsとは次元が違いますね。
148,600,000(GFlops)/369(GFlops)=402,710
高いベンチマーク結果の値で比較しても約40万倍違います。

 

iphoneに至っては、結果が3300~5688MFopsなので、
148,600,000,000(MFlops)/5688(MFlops)=26,123,175
約、2千6百万倍違いました。

 

「2位じゃダメなんでしょうか?」といわれたスパコン「京」

「2位じゃダメなんでしょうか?」と言われスパコンが身近の話題となった「京」2011年に世界一になっています。

f:id:yarufu101:20190812193529j:plain
この京は「8162TFlops」
やはり232~369GFlopsとは次元が違います。
こちらも計算すると、
自作PCは、
8162,000(GFlops)/369Flops(G)=22,119
約、2万2千万倍違います。

 iphoneは、
8162,000,000(MFlops)/5688(MFlops)=1,434,950
約、150万倍違います。



表とグラフにすると以下。

f:id:yarufu101:20190817024239j:plain

※自作パソコンとiphoneXSの値は平均値の大きい値を取っています。
あとFlopsの単位はG(ギガ)に統一です。

表は以下になります。

f:id:yarufu101:20190817024352j:plain

自作パソコンとiphoneXSの棒グラフ全く見えません!



 

 

じゃぁ、いつの時代のスパコンと同じくらいか?

 パソコンの232~369GFlopsは大体このくらいでした。

www.top500.org

 

2001年の79位~113位くらいが大体同じみたいです。

f:id:yarufu101:20190812185453j:plain

 

 

同様にiphoneXSの3300~5688MFopsは、1994年11月の117位~190位の間でした

www.top500.org

 

 

おわり

やっぱりスパコンは凄いですね!
しかしパソコンは18年前のスパコンと同じくらいなら、今の1位と同性能のパソコンも18年後には・・・

あと、スマホも25年前のスパコンと同じなら25年後には。。。(25年は遠いか?)

そんなこと思ったら進化は凄いですね。まぁ、性能が高くなったからって何に使う買って言えば家で使うのならネットぐらいなのかもしれませんが・・・