Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Mixbus and cpu cores, can we get a hint?
#1
When you assign more cores to Mixbus how do the program use the cores?
How do the program assign cores to plugin processing? How do tracks share cpu cores?

1 core, everything on that core
2 cores ???
3
4
5
6
7
12 cores???

I don't want any secrets, just some basic understanding of Mixbus so I can get a better idea for optimizing my system.


Thanks
ChristianWN
Reply
#2
A helpful guy here wrote long ago the CPU unpark possibility, when not Windows decide which core it uses but all of them are all the time for the program's disposal. here it is:
https://www.dropbox.com/s/fhf6ls15ger3pv...U.zip?dl=1

I unparked all my cores years ago
Win7/64, Mixbus32C, Mixbus2.5 the QueenSmile UR22, Dynaudio BM5A MKII, Pc all SSD,
Reply
#3
(11-17-2018, 05:19 PM)ChristianWN Wrote: When you assign more cores to Mixbus how do the program use the cores?
How do the program assign cores to plugin processing? How do tracks share cpu cores?

1 core, everything on that core
2 cores ???
3
4
5
6
7
12 cores???

I don't want any secrets, just some basic understanding of Mixbus so I can get a better idea for optimizing my system.


Thanks
ChristianWN

In short: Mixbus runs independent "mixer-strips" in parallel.

Usually: All tracks are processed in parallel, then all Busses (fed by tracks) in parallel and finally the master-bus (fed by tracks/busses) is processed by itself.

Plugins on the same track cannot be processed in parallel. They form a chain: the input of one plugin depends on the output of a prior plugin on the same track. So the first plugin needs to complete before the next plugin one on the same track can run.

Internally Mixbus builds a dependency graph and runs as many independent tasks as possible. It can well use as 12 cores (with 12 Mixbusses on 32C) or more cores if you have many tracks.
Reply
#4
(11-18-2018, 04:22 PM)x42 Wrote:
(11-17-2018, 05:19 PM)ChristianWN Wrote: When you assign more cores to Mixbus how do the program use the cores?
How do the program assign cores to plugin processing? How do tracks share cpu cores?

1 core, everything on that core
2 cores ???
3
4
5
6
7
12 cores???

I don't want any secrets, just some basic understanding of Mixbus so I can get a better idea for optimizing my system.


Thanks
ChristianWN

In short: Mixbus runs independent "mixer-strips" in parallel.

Usually: All tracks are processed in parallel, then all Busses (fed by tracks) in parallel and finally the master-bus (fed by tracks/busses) is processed by itself.

Plugins on the same track cannot be processed in parallel. They form a chain: the input of one plugin depends on the output of a prior plugin on the same track. So the first plugin needs to complete before the next plugin one on the same track can run.

Internally Mixbus builds a dependency graph and runs as many independent tasks as possible. It can well use as 12 cores (with 12 Mixbusses on 32C) or more cores if you have many tracks.

Ok thanks. Good to know. It seams you have a really advanced thread system in Mixbus.
Can I ask if some customization would be possible to program in Mixbus?

Like choosing how many threads to use for certain tasks. Not necessary all. Here are some useful ideas and scenarios, and they have all to do with optimizing and not wasting cpu cycles.

Every setup has different needs. And until we have 50+ cores, something has to be shared. Off course you know this... But what if we could have some say in how cores are used:

Someone might need a lot of input tracks but not using a lot of Mixbusses, then he could assign more cores for tracks and less for the busses... Others might need lots of plugins but not so many tracks or busses. So then you could dedicate tracks or specific busses to run on separate cores, not shared. Like having an effect racks inside Mixbus.
I have noticed that I myself have to use external effect racks (modular daws like Carla or Bidule) to accomplish this, as adding many plugins to Mixbus just uses up the DSP to quickly, and this does not happen if I use an external program running on a separate core and connect to Mixbus with jackd. Then I can really load up A LOT of plugins without straining the available DSP.

Linux only: Also as I mention before putting Mixbus on isolated cores with a rt-kernel gives me like 30% more DSP power for free, it helps that much. But I have to start Mixbus with taskset or numactl to place it on the correct cores. Could it be possible to have a core select function in preferences to choose what cores to run Mixbus on?


Thanks for your time, regards
Christian
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)