Topic: Insanely great performance on ARM-64bit (Pianoteq, Odroid N2+, Linux)
I got a crazy performance boost by forcing Pianoteq to use the 4x high-performance CPU cores on the Odroid N2+, leaving the remaining 2x low-performance cores for the operating system (Ubuntu Linux).
Even with Pianoteq settings at ridiculous speed (see below), there's more than enough horsepower to keep the Performance Index at an almost unbreakable 33-35 and you have to try really hard to force a CPU overload (the most important part).
Now I'm thinking, this sounds too good to be true, and I'm a little paranoid that I'm doing something wrong, so I'm hoping you guys/gals will try this on your ARM/Raspberry installations to confirm if this hack is for realzzzzzz ....
How Do You Tell Pianoteq To Use Specific CPU Cores?
On Ubuntu Linux? Start Pianoteq like this.
taskset -c 2,3,4,5 'Pianoteq 7 STAGE'
On the Odroid N2+ the 6 CPU cores are numbered 0,1,2,3,4,5. The example starts Pianoteq dedicated to cores 2,3,4,5. '-c 2,3,4,5' specifies the 4x high-performance cores on the Odroid N2+, '-c 0,1' would be the 2x low-performance cores.
What about the RASPBERRY PI with 4 CPU cores? - I'm guessing you would start Pianoteq like this dedicated to 2 cores.
taskset -c 2,3 'Pianoteq 7 STAGE'
How to figure out which CPU cores are high/low performance?
1. Start your Terminal
2. Install the CPU Frequency Utilities (a.k.a. cpufrequtils). In Ubuntu Linux it looks like this:
sudo apt update
sudo apt install cpufrequtils
3. Now, run 'cpufreq-info' to list out the CPU information. Warning, this will vomit data, and you'll have to scroll up/down to find the information.
cpufreq-info
4. There will be a section for each CPU core. Look for the following lines at the beginning and end of each section:
analyzing CPU 0:
... current CPU frequency is 1.91 GHz.analyzing CPU 1:
... current CPU frequency is 1.91 GHz.analyzing CPU 2:
... current CPU frequency is 2.21 GHz.analyzing CPU 3:
... current CPU frequency is 2.21 GHz.
etc.
The 1st core is labeled 'CPU 0' running at 1.91 Ghz, 2nd core is 'CPU 1' etc. The 'CPU frequency' tells you if it's a high or low performance core
5. Run Pianoteq with the specified CPU cores.
taskset -c 2,3,4,5 'Pianoteq 7 STAGE'
The first 2 cores are constantly the first in line to be used, so to get better performance, tell Pianoteq to use all the cores AFTER the first 2 cores.