How parallelised is audio software?

Completely and utterly unrelated.

Moderators: raboof, MattKingUSA, khz

Post Reply
merlyn
Established Member
Posts: 1392
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 168 times
Been thanked: 247 times

How parallelised is audio software?

Post by merlyn »

Musicteacher wrote:But this won't help you in a real-world audio setup where dozens of plugins are running at the same time and could use a multicore-cpu very well!
That's interesting because the trend in processors is towards more cores rather than higher speeds. For software to benefit from more cores it has to be parallelised. Amdahl's law tells us that performance will hit a limit depending on how parallelised the code is.

Image

So a program that is 50% parallelised hits a limit at 16 cores. There's no point adding any more beyond that. For audio software could each plugin run on a different core and how parallelised would that make the program?
Musicteacher
Established Member
Posts: 194
Joined: Mon Nov 13, 2017 5:54 am
Has thanked: 8 times
Been thanked: 4 times

Re: How parallelised is audio software?

Post by Musicteacher »

Have a look at the qtractor-docs:

https://qtractor.sourceforge.io/doc/Man ... rview.html
Qtractor is a fairly massive multi-threaded application. For instance, each audio clip has a dedicated disk I/O executive thread, which synchronizes with the master engine, and to the central JACK real-time audio processing cycle, through a lock-free ring-buffer. These audio file ring-buffers are recycled (filled/emptied) at a one second threshold and have a maximum streaming capacity of 4-5 seconds of audio sample data. Smaller clips are permanently cached in a RAM buffer.
Some plugins already use multiple cores in a single instance (like Pianoteq).

Apart from that, it depends on what you do. If you have a single track with multiple plugins on that one single track, then I'd say that this cannot be parallelized easily (meaning: it depends on the plugin if it can run on several cores, but you cannot run the plugins at once on several cores, because one plugin needs the input from the plugin before it).

If you have multiple tracks I don't see why they could not run in parallel. So I'd say that for multitracking, parallelization comes quite natural. (not automatically, though, the programmer will have to start separate threads for each channel)
merlyn
Established Member
Posts: 1392
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 168 times
Been thanked: 247 times

Re: How parallelised is audio software?

Post by merlyn »

Thanks, I'll look at that. I've been thinking about what the trends in hardware mean for audio software.
zoco
Established Member
Posts: 177
Joined: Fri Jan 25, 2019 4:04 pm

Re: How parallelised is audio software?

Post by zoco »

I think the trend will be as it always was. The computer evolves as it does, and the software will be develloped to run on those computers. If multicore would become a problem the software will be rewritten for that situation.

I can not tell if it will become a problem. For me it still is not. Meanwhile using multiple plugins on each track, sometimes also on busses, and always also on the master. Tens of plugins sometimes in a song, set to work hard, next to, over, and through another.
On a multicore without a problem. Without thinking in limits as i expect my computer to do what i want, and it does. Ok i must confess, sometimes overload, but that is with huge songs when i reach the maximums of my internal mem. instead of processor limits.
Post Reply