Vlad post at 2015-11-7 04:16:06

Overclocking of OP+, my experience

Edited by Vlad at 2015-11-7 06:30

According to temprerature monitor and frequency control i would have max freq as:
* 1008000 for a full load of all the cores by ffmpeg conversion (t is 65C). This case is ok, i can it without problem.
* 2000000, may be more, for single core compilation of a sources (t is 55C on 1536000 freq). This limit isn't available :( http://www.orangepi.org/orangepibbsen/static/image/smiley/default/cry.gif http://www.orangepi.org/orangepibbsen/static/image/smiley/default/cry.gif http://www.orangepi.org/orangepibbsen/static/image/smiley/default/cry.gif http://www.orangepi.org/orangepibbsen/static/image/smiley/default/cry.gif http://www.orangepi.org/orangepibbsen/static/image/smiley/default/cry.gif http://www.orangepi.org/orangepibbsen/static/image/smiley/default/cry.gif

But!
on the new kernel the cpu freq can't be assigned above 1536000 :(

How to assign some above 1536000 to /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq ???

P.S. Heatsinks are attached to cpu and mem chips on my OP+


hojnikb post at 2015-11-9 18:55:38

Looks like its hardcoded into the kernel.

Although i doubt CortexA7 can handle any more than ~1.6Ghz.... 1.53G is already pretty overclocked for such design... Normally, cortex a7 designs runs at ~1000-1200Mhz tops.

Vlad post at 2015-11-15 23:38:33

hojnikb replied at 2015-11-9 18:55
Looks like its hardcoded into the kernel.

Although i doubt CortexA7 can handle any more than ~1.6Gh ...
I have to point on the insteresting lines in the official ubuntu vivid mini distribution (/etc/rc.local):

# ** Overclock to 1.728 GHz 1728000
# echo 1728000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

So. I am pretty shure kernel can overclock CPU to 1728000hz without rebuild. Can't?

What about 2,000,000 hz?


bronco post at 2015-11-18 03:28:55

Edited by bronco at 2015-11-18 03:29

Vlad replied at 2015-11-15 23:38
I am pretty shure kernel can overclock CPU to 1728000hz without rebuild.
That's bullsh*t: Please have a look at http://linux-sunxi.org/Orange_Pi_PC#CPU_clock_speed_limit

The "up to 1.6 GHz" is marketing stuff.

tokka post at 2015-11-18 17:27:13

Usually these cpu can run at 2ghz, but....this freq is shared with gpu, so you have to take off 300mhz for it.
If you want to do some test, you have to change the values in script.bin too, setting up voltages related to freq..
It's not wasy to find the correct balance with cpu, gpu and voltages.
Good luck

bronco post at 2015-11-18 18:19:35

Edited by bronco at 2015-11-18 18:24

tokka replied at 2015-11-18 17:27
Usually these cpu can run at 2ghz, but....this freq is shared with gpu, so you have to take off 300m ...
Memory is shared between CPU and GPU. How could 'frequencies' be shared between different IC components?

There's a 'thermal budget' associated with running both CPU and GPU intensive tasks and that's what thermal throttling (and the H3's "Thermal Sensor Controller (TSC) providing over-temperature protection interrupt and over-temperature alarm interrupt") is for. And there are voltage settings and a maximum core voltage of 1.4V defined in the H3's datasheet. Again: http://linux-sunxi.org/Orange_Pi_PC#CPU_clock_speed_limit

; extremity_freq(Hz): cpu extremity frequency when run benckmark or demo apk
;                     1536MHz@1500mV with radiator, 1296MHz@1340mV without radiator
; max_freq: cpu maximum frequency, based on Hz, can not be more than 1200MHz
; min_freq: cpu minimum frequency, based on Hz, can not be less than 60MHz

Even the 1.5 GHz @ 1.5V are insane and for benchmarking only. These so called 'extremity frequencies' are for tablet and OTT manufacturers and should be used while thermal throttling is disabled to fool their customers since this way high Antutu scores can be shown when they produce product videos demonstrating the performance of their device. These speeds are not meant for reliable use.

It seems none of the 'this chip is able to run at 1.5 GHz or above' apologists do care about stability and data integrity? I've found not a single reference to cpufreq-ljt-stress-test in this forum or anywhere else related to H3. It's all about overheating and instability issues.

bronco post at 2015-11-18 19:56:11

Is any of you overclocking fans able to provide the results (whole output) of these three short benchmarks:sysbench --test=cpu --cpu-max-prime=20000 run --num-threads=4 && echo -e "\n\n" && 7za b && echo -e "\n\n" && mbw -t0 256 ; mbw -t1 256 ; mbw -t2 256
(you might have to do an "sudo apt-get install sysbench p7zip-full mbw" before and it would be interesting whether CPU cores were shut down and which cpufreq settings you used)

I found only references on the net where measurements were wrong or couldn't be used due to thermal throttling and unknown cpu-max-prime value:

http://tech.scargill.net/orange-pi-pc-battle-of-the-pis/
http://www.orangepi.org/orangepibbsen/forum.php?mod=redirect&goto=findpost&ptid=244&pid=3479&fromuid=29411

loboris post at 2015-11-18 23:02:55

Edited by loboris at 2015-11-18 16:10

bronco replied at 2015-11-18 12:56
Is any of you overclocking fans able to provide the results (whole output) of these three short benc ...
i'm not an overclocking fan, but here are the tests (1.53 GHz constant during the test, no thermal throttling during the test; OPI-2; heatsink&fan):

Options -md23 in 7za and 112 in mbw used not to get Out of memory error.

root@OrangePI:~# uname -r                                                                                                                        
3.4.39-01-lobo

root@OrangePI:~# sysbench --test=cpu --cpu-max-prime=20000 run --num-threads=4 && echo -e "\n\n" && 7za b -md23 && echo -e "\n\n" && mbw -t0 112
; mbw -t1 112 ; mbw -t2 112                                                                                                                     
sysbench 0.4.12:multi-threaded system evaluation benchmark                                                                                    
                                                                                                                                                
Running the test with following options:                                                                                                         
Number of threads: 4                                                                                                                           
                                                                                                                                                
Doing CPU performance benchmark                                                                                                                  
                                                                                                                                                
Threads started!                                                                                                                                 
Done.                                                                                                                                          
                                                                                                                                                
Maximum prime number checked in CPU test: 20000                                                                                                
                                                                                                                                                
                                                                                                                                                
Test execution summary:                                                                                                                        
    total time:                        123.3567s                                                                                             
    total number of events:            10000                                                                                                   
    total time taken by event execution: 493.3652                                                                                                
    per-request statistics:                                                                                                                     
         min:                                 48.98ms                                                                                          
         avg:                                 49.34ms                                                                                          
         max:                              108.22ms                                                                                          
         approx.95 percentile:            49.50ms                                                                                          
                                                                                                                                                
Threads fairness:                                                                                                                              
    events (avg/stddev):         2500.0000/20.14                                                                                             
    execution time (avg/stddev):   123.3413/0.01                                                                                                
                                                                                                                                                
                                                                                                                                                
                                                                                                                                                
                                                                                                                                                
                                                                                                                                                
7-Zip (A) 9.20Copyright (c) 1999-2010 Igor Pavlov2010-11-18                                                                                 
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)                                                                           
                                                                                                                                                
RAM size:    1002 MB,# CPU hardware threads:   4                                                                                             
RAM usage:    226 MB,# Benchmark threads:      4                                                                                             
                                                                                                                                                
Dict      Compressing          |      Decompressing                                                                                          
      Speed Usage    R/U Rating|    Speed Usage    R/U Rating                                                                                 
       KB/s   %   MIPS   MIPS|   KB/s   %   MIPS   MIPS                                                                                 
                                                                                                                                                
22:    1640   307    520   1595|    42528   382   1005   3837                                                                                 
23:    1656   315    536   1687|    43460   393   1012   3977                                                                                 
----------------------------------------------------------------                                                                                 
Avr:          311    528   1641               387   1008   3907                                                                                 
Tot:          349    768   2774                                                                                                                  
                                                                                                                                                
                                                                                                                                                
                                                                                                                                                
Long uses 4 bytes. Allocating 2*29360128 elements = 234881024 bytes of memory.                                                                  
Getting down to business... Doing 10 runs per test.                                                                                             
0       Method: MEMCPYElapsed: 0.28276      MiB: 112.00000Copy: 396.101 MiB/s                                                            
1       Method: MEMCPYElapsed: 0.28270      MiB: 112.00000Copy: 396.177 MiB/s                                                            
2       Method: MEMCPYElapsed: 0.28286      MiB: 112.00000Copy: 395.958 MiB/s                                                            
3       Method: MEMCPYElapsed: 0.28269      MiB: 112.00000Copy: 396.198 MiB/s                                                            
4       Method: MEMCPYElapsed: 0.28273      MiB: 112.00000Copy: 396.143 MiB/s                                                            
5       Method: MEMCPYElapsed: 0.28274      MiB: 112.00000Copy: 396.129 MiB/s                                                            
6       Method: MEMCPYElapsed: 0.28276      MiB: 112.00000Copy: 396.093 MiB/s                                                            
7       Method: MEMCPYElapsed: 0.28283      MiB: 112.00000Copy: 395.995 MiB/s                                                            
8       Method: MEMCPYElapsed: 0.28268      MiB: 112.00000Copy: 396.205 MiB/s                                                            
9       Method: MEMCPYElapsed: 0.28301      MiB: 112.00000Copy: 395.753 MiB/s                                                            
AVG   Method: MEMCPYElapsed: 0.28277      MiB: 112.00000Copy: 396.075 MiB/s                                                            
Long uses 4 bytes. Allocating 2*29360128 elements = 234881024 bytes of memory.                                                                  
Getting down to business... Doing 10 runs per test.                                                                                             
0       Method: DUMB    Elapsed: 0.15066      MiB: 112.00000Copy: 743.376 MiB/s                                                            
1       Method: DUMB    Elapsed: 0.14534      MiB: 112.00000Copy: 770.586 MiB/s                                                            
2       Method: DUMB    Elapsed: 0.15054      MiB: 112.00000Copy: 744.013 MiB/s                                                            
3       Method: DUMB    Elapsed: 0.14568      MiB: 112.00000Copy: 768.798 MiB/s                                                            
4       Method: DUMB    Elapsed: 0.15076      MiB: 112.00000Copy: 742.922 MiB/s                                                            
5       Method: DUMB    Elapsed: 0.14549      MiB: 112.00000Copy: 769.828 MiB/s                                                            
6       Method: DUMB    Elapsed: 0.15060      MiB: 112.00000Copy: 743.682 MiB/s                                                            
7       Method: DUMB    Elapsed: 0.14586      MiB: 112.00000Copy: 767.833 MiB/s                                                            
8       Method: DUMB    Elapsed: 0.15029      MiB: 112.00000Copy: 745.211 MiB/s                                                            
9       Method: DUMB    Elapsed: 0.14574      MiB: 112.00000Copy: 768.502 MiB/s                                                            
AVG   Method: DUMB    Elapsed: 0.14810      MiB: 112.00000Copy: 756.263 MiB/s                                                            
Long uses 4 bytes. Allocating 2*29360128 elements = 234881024 bytes of memory.                                                                  
Using 262144 bytes as blocks for memcpy block copy test.                                                                                       
Getting down to business... Doing 10 runs per test.                                                                                             
0       Method: MCBLOCK Elapsed: 0.15554      MiB: 112.00000Copy: 720.095 MiB/s                                                            
1       Method: MCBLOCK Elapsed: 0.15603      MiB: 112.00000Copy: 717.806 MiB/s                                                            
2       Method: MCBLOCK Elapsed: 0.15597      MiB: 112.00000Copy: 718.073 MiB/s                                                            
3       Method: MCBLOCK Elapsed: 0.15585      MiB: 112.00000Copy: 718.658 MiB/s                                                            
4       Method: MCBLOCK Elapsed: 0.15582      MiB: 112.00000Copy: 718.792 MiB/s                                                            
5       Method: MCBLOCK Elapsed: 0.15573      MiB: 112.00000Copy: 719.198 MiB/s                                                            
6       Method: MCBLOCK Elapsed: 0.15546      MiB: 112.00000Copy: 720.429 MiB/s                                                            
7       Method: MCBLOCK Elapsed: 0.15553      MiB: 112.00000Copy: 720.100 MiB/s                                                            
8       Method: MCBLOCK Elapsed: 0.15586      MiB: 112.00000Copy: 718.603 MiB/s                                                            
9       Method: MCBLOCK Elapsed: 0.15605      MiB: 112.00000Copy: 717.709 MiB/s                                                            
AVG   Method: MCBLOCK Elapsed: 0.15578      MiB: 112.00000Copy: 718.945 MiB/s                                                            
root@OrangePI:~#



bronco post at 2015-11-18 23:55:04

loboris replied at 2015-11-18 23:02
i'm not an overclocking fan, but here are the tests (1.53 GHz constant during the test, no thermal...

Great! Thx a lot. I guess, DRAM frequency was set to 672 MHz?

Do you have an idea why the 'out of memory errors' occur? I used the very same setup on a couple of SBC with default settings before without problems. If anyone's interested to compare with these SBC, the results can be found somewhere inside this review of another board:

[*]Raspberry Pi 2, BroadCom BCM2836 quad core SoC, 1.0 GHz
[*]Hardkernel ODROID-C1+, Amlogic S805 quad core SoC, 1.7 GHz
[*]LeMaker Banana Pi, Allwinner A20 dual core SoC, 0.96 GHz
[*]LeMaker Guitar, Actions Semi S500/ATM7059 quad core SoC, 1.1 GHz
[*]Wandboard Quad, Freescale i.MX6 quad core SoC, 1.0 GHz
Thank you again, that gives a good impression what to expect when trying to run the H3 without a fan and conservative settings. Will be a bit faster compared to RPi 2 when it's about integer performance, a lot faster regarding I/O since the 'single USB 2.0 connection' bottleneck all RPi suffer from doesn't exist with the H3 (and will loose when it's about HW accelerated video encoding/decoding since I doubt we will ever see working CedarX stuff ion Linux). Perfect, I just ordered 1 Orange Pi PC to play with :-)



And thanks a lot for all your work to provide useable H3 OS images.

loboris post at 2015-11-19 01:21:05

bronco replied at 2015-11-18 16:55
Great! Thx a lot. I guess, DRAM frequency was set to 672 MHz?

Do you have an idea why the 'out of ...

DRAM frequency is 672. "Out of memory" is because oom killer kills one of the threads. It occurs also on i386 machines when memory is low.I dont think the results are influenced by lower settings.

Here are the results on OPI-PLUS without the heatsink (frequency trottles to 1.2/1.008 GHz). I had to lower the memory settings because it was running with desktop active.

root@OrangePI:~# sysbench --test=cpu --cpu-max-prime=20000 run --num-threads=4 && echo -e "\n\n" && 7za b -md22 && echo -e "\n\n" && mbw -t0 64;
mbw -t1 64 ; mbw -t2 64
sysbench 0.4.12:multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 4

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 20000


Test execution summary:
    total time:                        183.7352s
    total number of events:            10000
    total time taken by event execution: 734.7864
    per-request statistics:
         min:                                 49.00ms
         avg:                                 73.48ms
         max:                              446.61ms
         approx.95 percentile:             132.30ms

Threads fairness:
    events (avg/stddev):         2500.0000/27.88
    execution time (avg/stddev):   183.6966/0.02





7-Zip (A) 9.20Copyright (c) 1999-2010 Igor Pavlov2010-11-18                                                                                 
p7zip Version 9.20 (locale=hr_HR.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)                                                                           
                                                                                                                                                
RAM size:    1000 MB,# CPU hardware threads:   4                                                                                             
RAM usage:    122 MB,# Benchmark threads:      4                                                                                             
                                                                                                                                                
Dict      Compressing          |      Decompressing
      Speed Usage    R/U Rating|    Speed Usage    R/U Rating
       KB/s   %   MIPS   MIPS|   KB/s   %   MIPS   MIPS

22:    1262   280    438   1228|    29045   322    812   2620
----------------------------------------------------------------
Avr:          280    438   1228               322    812   2620
Tot:          301    625   1924



Long uses 4 bytes. Allocating 2*16777216 elements = 134217728 bytes of memory.
Getting down to business... Doing 10 runs per test.
0       Method: MEMCPYElapsed: 0.14754      MiB: 64.00000   Copy: 433.775 MiB/s
1       Method: MEMCPYElapsed: 0.15243      MiB: 64.00000   Copy: 419.857 MiB/s
2       Method: MEMCPYElapsed: 0.15263      MiB: 64.00000   Copy: 419.301 MiB/s
3       Method: MEMCPYElapsed: 0.15258      MiB: 64.00000   Copy: 419.438 MiB/s
4       Method: MEMCPYElapsed: 0.16614      MiB: 64.00000   Copy: 385.222 MiB/s
5       Method: MEMCPYElapsed: 0.17646      MiB: 64.00000   Copy: 362.684 MiB/s
6       Method: MEMCPYElapsed: 0.16827      MiB: 64.00000   Copy: 380.348 MiB/s
7       Method: MEMCPYElapsed: 0.15096      MiB: 64.00000   Copy: 423.959 MiB/s
8       Method: MEMCPYElapsed: 0.15009      MiB: 64.00000   Copy: 426.405 MiB/s
9       Method: MEMCPYElapsed: 0.15331      MiB: 64.00000   Copy: 417.466 MiB/s
AVG   Method: MEMCPYElapsed: 0.15704      MiB: 64.00000   Copy: 407.535 MiB/s
Long uses 4 bytes. Allocating 2*16777216 elements = 134217728 bytes of memory.
Getting down to business... Doing 10 runs per test.
0       Method: DUMB    Elapsed: 0.08016      MiB: 64.00000   Copy: 798.453 MiB/s
1       Method: DUMB    Elapsed: 0.07934      MiB: 64.00000   Copy: 806.604 MiB/s
2       Method: DUMB    Elapsed: 0.08479      MiB: 64.00000   Copy: 754.842 MiB/s
3       Method: DUMB    Elapsed: 0.08501      MiB: 64.00000   Copy: 752.835 MiB/s
4       Method: DUMB    Elapsed: 0.08185      MiB: 64.00000   Copy: 781.937 MiB/s
5       Method: DUMB    Elapsed: 0.08109      MiB: 64.00000   Copy: 789.276 MiB/s
6       Method: DUMB    Elapsed: 0.09141      MiB: 64.00000   Copy: 700.112 MiB/s
7       Method: DUMB    Elapsed: 0.08055      MiB: 64.00000   Copy: 794.567 MiB/s
8       Method: DUMB    Elapsed: 0.08131      MiB: 64.00000   Copy: 787.140 MiB/s
9       Method: DUMB    Elapsed: 0.08635      MiB: 64.00000   Copy: 741.152 MiB/s
AVG   Method: DUMB    Elapsed: 0.08319      MiB: 64.00000   Copy: 769.367 MiB/s
Long uses 4 bytes. Allocating 2*16777216 elements = 134217728 bytes of memory.
Using 262144 bytes as blocks for memcpy block copy test.
Getting down to business... Doing 10 runs per test.
0       Method: MCBLOCK Elapsed: 0.09939      MiB: 64.00000   Copy: 643.928 MiB/s
1       Method: MCBLOCK Elapsed: 0.08989      MiB: 64.00000   Copy: 711.997 MiB/s
2       Method: MCBLOCK Elapsed: 0.09726      MiB: 64.00000   Copy: 658.003 MiB/s
3       Method: MCBLOCK Elapsed: 0.10718      MiB: 64.00000   Copy: 597.104 MiB/s
4       Method: MCBLOCK Elapsed: 0.09798      MiB: 64.00000   Copy: 653.201 MiB/s
5       Method: MCBLOCK Elapsed: 0.09871      MiB: 64.00000   Copy: 648.331 MiB/s
6       Method: MCBLOCK Elapsed: 0.10879      MiB: 64.00000   Copy: 588.311 MiB/s
7       Method: MCBLOCK Elapsed: 0.10049      MiB: 64.00000   Copy: 636.905 MiB/s
8       Method: MCBLOCK Elapsed: 0.10045      MiB: 64.00000   Copy: 637.108 MiB/s
9       Method: MCBLOCK Elapsed: 0.11052      MiB: 64.00000   Copy: 579.075 MiB/s
AVG   Method: MCBLOCK Elapsed: 0.10107      MiB: 64.00000   Copy: 633.245 MiB/s
root@OrangePI:~#



page: [1] 2
View full version: Overclocking of OP+, my experience