• SONAR
  • Sonar Optimize Win 10 : MMCSS (p.6)
2017/07/02 23:24:04
Timur Born
taccessDoes that apply to audio and midi tracks in ableton ?
 
So your saying if a 2 core PC fires up ableton :
then track 1 uses - core 1 , track 2 uses - core 2 , then what happens ?
track 3 uses core - 1, track 4 uses core - 2 and keeps repeating ?
That's some pretty handy info for me ! can you confirm i am understanding you correctly ?


From memory I would say that it's just track numbers, regardless of whether it's audio or midi. But it's best to check for yourself (I cannot at the moment). Just produce some load on various tracks and watch CPU core load in Windows Resource-Monitor.
2017/07/02 23:28:00
Timur Born
arachnautI wrote a document about this a long time ago. Currently things are the same for Live, but Sonar has improved.

"The same" in what regard? If Live (still) allocates CPU cores based on track numbers then you get easy control over which addon uses what core on certain tracks. I'd examine it myself again, but I just killed my AIO in another test and currently have no fully running Windows installation/PC available and lack time to set it up quickly.
 
I'm also experimenting with CPU affinity masks set with the Task manager, but so far I can't get Affinity masks to stick to an executable, so I might be doing something wrong.

Task-Manager does not save affinity and priority over an application restart, it's always only just for currently running processes. That's what Process Lasso offers (among other things), to set an affinity mask that sticks with every start of an application.
2017/07/03 04:24:02
parco
taccess
parco
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl]
"IRQ8Priority"=dword:00000001
"IRQ18Priority"=dword:00000001
"IRQ0Priority"=dword:00000001
"Win32PrioritySeparation"=dword:00000024

 
and here are my another registry configs. Note that IRQ18 is my TI 1394 card for my Audiofire 4. So just modify the IRQ number to the IRQ of your sound device, or any USB, 1394, thunderbolt or ac-bridge ethernet card which connecting your sound device, so make sure they got their own exclusive IRQ number and not sharing with other hardwares. IRQ 0 is the clock timer of your CPU and IRQ 8 is the clock timer of your BIOS CMOS.


Hey i noticed you clock timer is  IRQ0Priority ! Should'nt it reflect the IRQexactly and  be IRQ00Priority ?




This IRQ number is totally not necessary to pad any zero, just fill in the real number then that is.
IRQ 0 = clock of your processor
IRQ 8 = clock of your motherboard
 
And I did test all IRQ configs and all results are worse than raising the priority of all three of them.
2017/07/03 05:53:50
taccess
parco
taccess
parco
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl]
"IRQ8Priority"=dword:00000001
"IRQ18Priority"=dword:00000001
"IRQ0Priority"=dword:00000001
"Win32PrioritySeparation"=dword:00000024

 
and here are my another registry configs. Note that IRQ18 is my TI 1394 card for my Audiofire 4. So just modify the IRQ number to the IRQ of your sound device, or any USB, 1394, thunderbolt or ac-bridge ethernet card which connecting your sound device, so make sure they got their own exclusive IRQ number and not sharing with other hardwares. IRQ 0 is the clock timer of your CPU and IRQ 8 is the clock timer of your BIOS CMOS.


Hey i noticed you clock timer is  IRQ0Priority ! Should'nt it reflect the IRQexactly and  be IRQ00Priority ?




This IRQ number is totally not necessary to pad any zero, just fill in the real number then that is.
IRQ 0 = clock of your processor
IRQ 8 = clock of your motherboard
 
And I did test all IRQ configs and all results are worse than raising the priority of all three of them.


parco
taccess
parco
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl]
"IRQ8Priority"=dword:00000001
"IRQ18Priority"=dword:00000001
"IRQ0Priority"=dword:00000001
"Win32PrioritySeparation"=dword:00000024

 
and here are my another registry configs. Note that IRQ18 is my TI 1394 card for my Audiofire 4. So just modify the IRQ number to the IRQ of your sound device, or any USB, 1394, thunderbolt or ac-bridge ethernet card which connecting your sound device, so make sure they got their own exclusive IRQ number and not sharing with other hardwares. IRQ 0 is the clock timer of your CPU and IRQ 8 is the clock timer of your BIOS CMOS.


Hey i noticed you clock timer is  IRQ0Priority ! Should'nt it reflect the IRQexactly and  be IRQ00Priority ?




This IRQ number is totally not necessary to pad any zero, just fill in the real number then that is.
IRQ 0 = clock of your processor
IRQ 8 = clock of your motherboard
 
And I did test all IRQ configs and all results are worse than raising the priority of all three of them.



I agree that these tweaks are slightly better, though mine are IRQ00 + IRQ08 exactly as they are listed under windows.
2017/07/03 16:23:04
arachnaut
Timur Born
arachnautI wrote a document about this a long time ago. Currently things are the same for Live, but Sonar has improved.

"The same" in what regard? If Live (still) allocates CPU cores based on track numbers then you get easy control over which addon uses what core on certain tracks. I'd examine it myself again, but I just killed my AIO in another test and currently have no fully running Windows installation/PC available and lack time to set it up quickly.
 
I'm also experimenting with CPU affinity masks set with the Task manager, but so far I can't get Affinity masks to stick to an executable, so I might be doing something wrong.

Task-Manager does not save affinity and priority over an application restart, it's always only just for currently running processes. That's what Process Lasso offers (among other things), to set an affinity mask that sticks with every start of an application.




Live still seems to add the next added Reaktor to the same physical core. I don't use Live any more so I did no further testing. That is, one test only or maybe two, but not many.
 
I've figured out that CPU affinity is not remembered when you use Task Manager.
 
I'm trying to find a solution for the general user community - PC and Mac - not dependent on external software and not too complicated.
 
So far, turning off hyperthreading is the easiest answer, that gives enough performance boost for Reaktor, but testing other general audio projects do worse. For example, one of my tests load 20 different Maschine 2 projects - that works a lot worse with HT off.
 
I'm fascinated that one can alter the CPU affinity on the fly and I see the process move from core to core. So the affinity must be saved in the instruction caches or something like that.
 
I'm studying the Intel docs now on the cache management to see how this actually works.
 
2017/07/03 16:59:58
Timur Born
Affinity is not controlled by the CPU, but by the OS. Core Parking (and C-states?) are not controlled by the CPU, but by the OS. Up to Skylake's Speedstep P-states were not controlled by the CPU, but by the OS.
 
Try this: Open a command prompt (CMD) and type "start /?". Learn the synthax and write a simple batch file to start your DAW with whatever affinity (and priority) you like.
2017/07/04 06:01:22
arachnaut
Timur Born
Affinity is not controlled by the CPU, but by the OS. Core Parking (and C-states?) are not controlled by the CPU, but by the OS. Up to Skylake's Speedstep P-states were not controlled by the CPU, but by the OS.
 
Try this: Open a command prompt (CMD) and type "start /?". Learn the synthax and write a simple batch file to start your DAW with whatever affinity (and priority) you like.


This is what I have been doing:
 
start "1" /high /affinity 0x1 "C:\Program Files\Native Instruments\Reaktor 5\Reaktor5.exe"
start "2" /high /affinity 0x4 "C:\Program Files\Native Instruments\Reaktor 5\Reaktor5.exe"
start "3" /high /affinity 0x10 "C:\Program Files\Native Instruments\Reaktor 5\Reaktor5.exe"
start "4" /high /affinity 0x40 "C:\Program Files\Native Instruments\Reaktor 5\Reaktor5.exe"

2017/07/04 06:03:09
arachnaut
taccess


It sounds to me like the things you have tried should have done the job if it was going to, unless of course there is that one setting you may have missed . Sometimes I go looking for a different perspective and I would suggest ( and I mean this in a friendly manner ) trying another forum, I do and I try to find specific related forums when needed, not because the advice here is incorrect but you might get that one piece of advice no ones pointed out yet.
Example :https://software.intel.co...onitoring/topic/392519

This place has some hard core hyperthreading mad men and although hyperthreading may not be what you need it may be that someone may point out something that connects those elusive dots.
Remember also even if you have tried in a few other forums that still no reason not to try again somewhere else, the biggest mistake we make is feeling exhausted and confused and settling in on the unresolved. Go harder !
I am sure I will head over there about NUMA, soon to.

All I am saying is stay here and go try there too.



I missed this good advice you posted earlier.
I'll go there and say farewell here.
Thanks.
© 2025 APG vNext Commercial Version 5.1

Use My Existing Forum Account

Use My Social Media Account