【RaspberryPi】高火力に挑戦!更なるクロックアップにチャレンジ!

クロックアップロマンだよね…。昔はX68000や20年くらい前のCeleron 300A(Mendocino)のでもクロックアップしていました。ハマるとやばいですがロマンに関しては認めます。

先日までのエントリで話で一旦終わりだったのですが、冷却性能的にはもっと行けるはずなのになんでだろうなと感じていました。んで、もしかしたら電源が微妙なのかなと思ってはいました。ってことで以下を使ってみました。

f:id:ueponx:20200515195010p:plain

www.switch-science.com

みんな大好きスイッチサイエンスさんのACアダプタです。こちらは3.0Aの出力があるので安定していると思います。これまで使用していたのはUSBケーブルとACアダプタが分離できるタイプのものを使用していたので昇圧のためのover_voltage設定をすると起動できないようになっていました。このACアダプタを使用すれば更なるクロックアップができるかな思ってのチャレンジです。

参考

uepon.hatenadiary.com

uepon.hatenadiary.com

uepon.hatenadiary.com

1.8GHzにチャレンジ

/boot/config.txtに以下の記述をして実行しました。

/boot/config.txt

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800
# 以下を記載
over_voltage=2
arm_freq=1800

すると、電源を変更する前は起動しませんでしたが、今回は問題なく起動しました。また、前回1. 68GHzでUnixBenchをしたところ、OSが落ちましたが今回は数値を更にアップさせても問題なく終了しました。やはり電源の問題によるところが大きかったのかなと思います。

f:id:ueponx:20200515173210p:plain

計測時のピークの温度で55℃には至らない状態です。52~53℃あたりでは収まってくれているので冷却は問題なさそうです。

------------------------------------------------------------------------
Benchmark Run: 金  5月 15 2020 16:26:46 - 16:55:10
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       12620305.5 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     2938.2 MWIPS (9.7 s, 7 samples)
Execl Throughput                               1098.2 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        136046.7 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           38596.0 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        362434.1 KBps  (30.0 s, 2 samples)
Pipe Throughput                              197145.0 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  53663.7 lps   (10.0 s, 7 samples)
Process Creation                               2289.0 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   3418.7 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    890.6 lpm   (60.1 s, 2 samples)
System Call Overhead                         609423.5 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   12620305.5   1081.4
Double-Precision Whetstone                       55.0       2938.2    534.2
Execl Throughput                                 43.0       1098.2    255.4
File Copy 1024 bufsize 2000 maxblocks          3960.0     136046.7    343.6
File Copy 256 bufsize 500 maxblocks            1655.0      38596.0    233.2
File Copy 4096 bufsize 8000 maxblocks          5800.0     362434.1    624.9
Pipe Throughput                               12440.0     197145.0    158.5
Pipe-based Context Switching                   4000.0      53663.7    134.2
Process Creation                                126.0       2289.0    181.7
Shell Scripts (1 concurrent)                     42.4       3418.7    806.3
Shell Scripts (8 concurrent)                      6.0        890.6   1484.3
System Call Overhead                          15000.0     609423.5    406.3
                                                                   ========
System Benchmarks Index Score                                         393.7

------------------------------------------------------------------------
Benchmark Run: 金  5月 15 2020 16:55:10 - 17:23:33
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       50244190.3 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                    11742.1 MWIPS (9.7 s, 7 samples)
Execl Throughput                               3255.3 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        264435.0 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           73509.0 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        686890.9 KBps  (30.0 s, 2 samples)
Pipe Throughput                              747012.0 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 239147.8 lps   (10.0 s, 7 samples)
Process Creation                               5636.7 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   7076.8 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    973.2 lpm   (60.1 s, 2 samples)
System Call Overhead                        2307132.0 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   50244190.3   4305.4
Double-Precision Whetstone                       55.0      11742.1   2134.9
Execl Throughput                                 43.0       3255.3    757.1
File Copy 1024 bufsize 2000 maxblocks          3960.0     264435.0    667.8
File Copy 256 bufsize 500 maxblocks            1655.0      73509.0    444.2
File Copy 4096 bufsize 8000 maxblocks          5800.0     686890.9   1184.3
Pipe Throughput                               12440.0     747012.0    600.5
Pipe-based Context Switching                   4000.0     239147.8    597.9
Process Creation                                126.0       5636.7    447.4
Shell Scripts (1 concurrent)                     42.4       7076.8   1669.1
Shell Scripts (8 concurrent)                      6.0        973.2   1622.0
System Call Overhead                          15000.0    2307132.0   1538.1
                                                                   ========
System Benchmarks Index Score                                        1041.8

1.5GHzがシングルスレッドが約350、マルチスレッドが約800というスコアから 1.8GHzではシングルスレッド約390、マルチスレッドが約1040というスコアに変わりました。 設定値1.2倍くらいのスコアになったかなというところでしょうか。

さらなる高みへ

さらなる限界に向けて/boot/config.txtに以下の記述をしました。

/boot/config.txt

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800
# 以下を記載
over_voltage=5
arm_freq=2000

1.3倍のクロックの2GHzに設定を変更します。そろそろヤバそうな値なのでこれ以上はやめることにします。

f:id:ueponx:20200515190034p:plain

温度は52~53℃ぐらいまでで収まっているので、通常処理であれば問題なさそうです。(ベンチマークでもしない限りここまで上がりません。) ピークの値でも57℃でした。

------------------------------------------------------------------------
Benchmark Run: 金  5月 15 2020 17:44:13 - 18:12:32
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       13591161.2 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     3172.4 MWIPS (9.7 s, 7 samples)
Execl Throughput                               1182.3 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        143540.7 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           41533.0 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        386833.3 KBps  (30.0 s, 2 samples)
Pipe Throughput                              213385.8 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  57486.8 lps   (10.0 s, 7 samples)
Process Creation                               2423.2 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   3131.1 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    941.9 lpm   (60.1 s, 2 samples)
System Call Overhead                         658727.7 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   13591161.2   1164.6
Double-Precision Whetstone                       55.0       3172.4    576.8
Execl Throughput                                 43.0       1182.3    275.0
File Copy 1024 bufsize 2000 maxblocks          3960.0     143540.7    362.5
File Copy 256 bufsize 500 maxblocks            1655.0      41533.0    251.0
File Copy 4096 bufsize 8000 maxblocks          5800.0     386833.3    667.0
Pipe Throughput                               12440.0     213385.8    171.5
Pipe-based Context Switching                   4000.0      57486.8    143.7
Process Creation                                126.0       2423.2    192.3
Shell Scripts (1 concurrent)                     42.4       3131.1    738.5
Shell Scripts (8 concurrent)                      6.0        941.9   1569.8
System Call Overhead                          15000.0     658727.7    439.2
                                                                   ========
System Benchmarks Index Score                                         416.2

------------------------------------------------------------------------
Benchmark Run: 金  5月 15 2020 18:12:32 - 18:40:53
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       54182040.6 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                    12646.3 MWIPS (9.6 s, 7 samples)
Execl Throughput                               3450.8 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        286494.5 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           79440.3 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        709624.9 KBps  (30.0 s, 2 samples)
Pipe Throughput                              808905.5 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 253394.6 lps   (10.0 s, 7 samples)
Process Creation                               6140.4 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   7467.7 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   1028.6 lpm   (60.1 s, 2 samples)
System Call Overhead                        2483824.3 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   54182040.6   4642.8
Double-Precision Whetstone                       55.0      12646.3   2299.3
Execl Throughput                                 43.0       3450.8    802.5
File Copy 1024 bufsize 2000 maxblocks          3960.0     286494.5    723.5
File Copy 256 bufsize 500 maxblocks            1655.0      79440.3    480.0
File Copy 4096 bufsize 8000 maxblocks          5800.0     709624.9   1223.5
Pipe Throughput                               12440.0     808905.5    650.2
Pipe-based Context Switching                   4000.0     253394.6    633.5
Process Creation                                126.0       6140.4    487.3
Shell Scripts (1 concurrent)                     42.4       7467.7   1761.2
Shell Scripts (8 concurrent)                      6.0       1028.6   1714.4
System Call Overhead                          15000.0    2483824.3   1655.9
                                                                   ========
System Benchmarks Index Score                                        1114.0

1.5GHzがシングルスレッドが約350、マルチスレッドが約800というスコアから 2.0GHzではシングルスレッド約416、マルチスレッドが約1110というスコアに変わりました。 マルチスレッドであれば設定値1.3倍くらいのスコアになったかなというところでしょうか。 シングルスレッドではクロックアップの効果はそろそろ効果が薄くなっているようです。

おわりに

RaspberryPi4Bはちゃんとした電源を使った方がパフォーマンスが高いのかもしれません。今後は気をつけていこうと思います。 クロックアップの企画はこれにて終了です。

参考

uepon.hatenadiary.com

uepon.hatenadiary.com

uepon.hatenadiary.com

/* -----codeの行番号----- */