Login / Register 0 items | $0.00 New @ KVR
User avatar
Aleksey Vaneev
KVRAF
 
3465 posts since 7 Sep, 2002

Postby Aleksey Vaneev; Fri Jul 13, 2018 8:44 am Re: Will VST3 plugins stop working with the next macOS udates?

EvilDragon wrote:
stratum wrote:(after all intel cpus are not power efficient)


They certainly do have power efficient CPUs in their product range. Compute Stick?

I've seen several *recent* ARM vs Intel server benchmarks on the net, and ARM is very far behind in single-threaded performance. ARM is more power-efficient at the frequencies they run at, but if they ever get to the same core-for-core performance level, I do not think they'll still be considerably more power efficient. I think it's mainly a marketing hype surrounding ARM that it is more power efficient; I would say, its power efficiency is more scalable: it is more power-efficient as a multi-core system, but as a single-core system its power efficiency is uncertain.

At the base level it's the same transistors performing instructions of a given complexity. In my opinion CISC should have a higher performance in the same manner as SIMD has higher performance: less state switching, more actual computing per operation.

But we'll see. AMD with Ryzen was able to boost performance per watt (even though their single-threaded performance is lower than Intel), more improvements are on the way. Apple has to compete not only with Intel, but with AMD now.
Image
User avatar
Guillaume Piolat
KVRist
 
162 posts since 21 Sep, 2015, from Grenoble

Postby Guillaume Piolat; Sat Jul 14, 2018 5:30 am Re: Will VST3 plugins stop working with the next macOS udates?

My point of view is that x86 CPUs are optimized to make relatively poor code perform acceptably.

- Cache prediction load the right cacheline before it's eventually used.
- Branch prediction execute speculatively before the condition is met.
- Memory sharing enjoy no big speed penalty if the cacheline isn't shared.
- With Haswell the performance of unaligned load/store have been mitigated (or so I read in Agner's Fog).
- Even the instruction provides some kind of layer under which more or less units can be added.
- memory model itself make guarantees even without LOCK prefix

Lots of architectures are less permissive than x86 for much better performance / watt _when adequately programmed_. In GPUs different memory levels are explicit, both branches executed, there are no unaligned loads, spatial cache is here etc.

I doubt there are designs that mitigate bad performance of normal programs in the way x86 CPUs do, but would be somehow much more efficient / watt.
User avatar
Aleksey Vaneev
KVRAF
 
3465 posts since 7 Sep, 2002

Postby Aleksey Vaneev; Sat Jul 14, 2018 1:31 pm Re: Will VST3 plugins stop working with the next macOS udates?

Guillaume Piolat wrote:I doubt there are designs that mitigate bad performance of normal programs in the way x86 CPUs do, but would be somehow much more efficient / watt.

Here's one of the recent tests of ARM vs Skylake in server loads:
https://blog.cloudflare.com/arm-takes-wing/

On system level, ARM is 2.2 times more power efficient when delivering static content (HTML+blotli+simple Lua). But its single-threaded performance is very weak in most tests while it runs at a higher clock rate. Also hyperthreading cores are not "real" cores, so Skylake delivers similar performance having two times less number of physical cores. ARM is a power efficiency winner for isolated parallel tasks. I think if Skylake's frequency could be reduced by 40% and the number of physical cores increased by 2, chances are it could compete with ARM in power efficiency. On desktop CPUs frequency decrease by 15% is associated with the TDP drop by 30%.

Intel actually did such scaling already with their Atom processors, but the market didn't want Intel. It's not because Intel was too "power inefficient" (per useful operation), but because nobody wanted to see Intel and Microsoft succeed in mobile market. It would be actually really cool to see a CoffeeLake Atom powered smartphone, but that's not gonna happen I think - Windows lost developer time to Android and iOS.

Speculative execution is the main "power hog", but in many practical cases it does a great job at reducing execution time.

A little bit of history:
http://caxapa.ru/thumbs/229665/armcorte ... landbe.pdf (Table I)

At that time (2009) Atom delivered an incredible performance and performance per dollar metrics. Performance per watt results are mixed, but I guess at that time 0.5W processor was a "better" choice than 2W processor, or there were other considerations - in my opinion, it was just unwillingness to see Intel succeed.
Image
keithwood
KVRist
 
56 posts since 24 Dec, 2015, from Bristol, UK

Postby keithwood; Sun Jul 15, 2018 2:56 am Re: Will VST3 plugins stop working with the next macOS udates?

Aleksey Vaneev wrote:On system level, ARM is 2.2 times more power efficient when delivering static content (HTML+blotli+simple Lua). But its single-threaded performance is very weak in most tests while it runs at a higher clock rate. Also hyperthreading cores are not "real" cores, so Skylake delivers similar performance having two times less number of physical cores. ARM is a power efficiency winner for isolated parallel tasks. I think if Skylake's frequency could be reduced by 40% and the number of physical cores increased by 2, chances are it could compete with ARM in power efficiency. On desktop CPUs frequency decrease by 15% is associated with the TDP drop by 30%.


It's my belief that parallelism is the future of computing for both chip manufacturers and programmers to continue to advance at the rate of Moore's Law. Power consumption is closely related to thermal efficiency and heat is a problem when cramming cores on chips. It's possible that Apple are placing a bet on parallelism and see RISC as the better route to higher core counts. Intel's 18 core desktop processor is awesome but I wonder if they can double that in a year's time to satisfy Moore in terms of both performance and importantly cost. I would also bet on RISC being easier to scale on silicon without costing the earth.
User avatar
EvilDragon
KVRAF
 
16477 posts since 6 Jan, 2009, from Croatia

Postby EvilDragon; Sun Jul 15, 2018 3:01 am Re: Will VST3 plugins stop working with the next macOS udates?

Unfortunately not all things can be parallelized - and audio processing is much more often serial rather than parallel.
stratum
KVRAF
 
1848 posts since 29 May, 2012

Postby stratum; Sun Jul 15, 2018 3:05 am Re: Will VST3 plugins stop working with the next macOS udates?

EvilDragon wrote:Unfortunately not all things can be parallelized - and audio processing is much more often serial rather than parallel.


I suspect that a cell phone with a 4K display running angry birds is the vision for the future of computing, a pretty nice opportunity for rendering parallelism..
~stratum~
User avatar
Guillaume Piolat
KVRist
 
162 posts since 21 Sep, 2015, from Grenoble

Postby Guillaume Piolat; Sun Jul 15, 2018 3:10 am Re: Will VST3 plugins stop working with the next macOS udates?

Aleksey Vaneev wrote:
Guillaume Piolat wrote:I doubt there are designs that mitigate bad performance of normal programs in the way x86 CPUs do, but would be somehow much more efficient / watt.

Here's one of the recent tests of ARM vs Skylake in server loads:
https://blog.cloudflare.com/arm-takes-wing/


Very interesting thanks.

This test is in line with the saying on the street that ARM is much more power efficient if you are willing to give up a bit of single-threaded performance. Though the gap has reduced.

Something that is new to me in the test is that TSMC can manage 10nm while Intel currently can't. TSMC is leading Intel!
keithwood
KVRist
 
56 posts since 24 Dec, 2015, from Bristol, UK

Postby keithwood; Sun Jul 15, 2018 3:30 am Re: Will VST3 plugins stop working with the next macOS udates?

EvilDragon wrote:Unfortunately not all things can be parallelized - and audio processing is much more often serial rather than parallel.


Do you really think that's the case from the perspective of a DAW and not a plugin?
User avatar
Aleksey Vaneev
KVRAF
 
3465 posts since 7 Sep, 2002

Postby Aleksey Vaneev; Sun Jul 15, 2018 3:48 am Re: Will VST3 plugins stop working with the next macOS udates?

Guillaume Piolat wrote:This test is in line with the saying on the street that ARM is much more power efficient if you are willing to give up a bit of single-threaded performance. Though the gap has reduced.

It's unfortunately not just "a bit", but a very considerable underperformance on ARM's side. Even factoring-in turbo boost frequency of Skylake, ARM is still 20% or more slower in most tasks. In DAWs and DSP plugins single-threaded performance is very important.
Last edited by Aleksey Vaneev on Sun Jul 15, 2018 4:28 am, edited 1 time in total.
Image
User avatar
EvilDragon
KVRAF
 
16477 posts since 6 Jan, 2009, from Croatia

Postby EvilDragon; Sun Jul 15, 2018 4:01 am Re: Will VST3 plugins stop working with the next macOS udates?

keithwood wrote:
EvilDragon wrote:Unfortunately not all things can be parallelized - and audio processing is much more often serial rather than parallel.


Do you really think that's the case from the perspective of a DAW and not a plugin?


Absolutely. i.e. when you have plugin going into a plugin going into a plugin, you cannot parallelize that, because input of one plugin depends on output of another. You can only process the whole track as a single entity. And then, if that track has some sends, it needs to process those additional tracks as a single entity as well.

This is not hard to deduce.
User avatar
Aleksey Vaneev
KVRAF
 
3465 posts since 7 Sep, 2002

Postby Aleksey Vaneev; Sun Jul 15, 2018 4:19 am Re: Will VST3 plugins stop working with the next macOS udates?

keithwood wrote:It's my belief that parallelism is the future of computing for both chip manufacturers and programmers to continue to advance at the rate of Moore's Law.

Parallelism is old at this time. It does not solve all problems as many algorithms can't be parallelized. We'll see what kind of single-core performance Apple manages to achieve if they ever release desktop ARM processors. For now, we are limited to synthetic and quite inconsistent benchmarks floating around the net (e.g. one test compared some old low-frequency Xeon core to iPhone 7). The general perception or maybe marketing hype is that Apple's ARM is 1-2 generations ahead of the ARM competition, which is frankly saying a bit hard to believe (the architecture and instruction set is basically fixed).
Image
mystran
KVRAF
 
4928 posts since 11 Feb, 2006, from Helsinki, Finland

Postby mystran; Sun Jul 15, 2018 5:10 am Re: Will VST3 plugins stop working with the next macOS udates?

EvilDragon wrote:
keithwood wrote:
EvilDragon wrote:Unfortunately not all things can be parallelized - and audio processing is much more often serial rather than parallel.


Do you really think that's the case from the perspective of a DAW and not a plugin?


Absolutely. i.e. when you have plugin going into a plugin going into a plugin, you cannot parallelize that, because input of one plugin depends on output of another. You can only process the whole track as a single entity. And then, if that track has some sends, it needs to process those additional tracks as a single entity as well.


More specifically, it's important to realise that in "audio performance" we are normally not really interested in raw CPU through-put, but rather the minimum wall-clock time (ie. latency) to process a given block of audio through a given signal chain.

One can generally convert serial dependency chains into parallel pipelines by adding additional latency (basically add extra buffer of latency for each plugin in the dependency chain), which then helps improve CPU utilisation and get closer to the raw through-put, but this is directly at odds with the (usual) goal of keeping the latency to the minimum.

So yeah.. we could do more parallel work, sure.. but nobody wants to multiply the audio buffer latency by 10 just because they happen to put 10 plugins into a serial dependency chain (which is basically what you need to pipeline the thing) which is why single-threaded performance matters.
Image <- plugins | forum
keithwood
KVRist
 
56 posts since 24 Dec, 2015, from Bristol, UK

Postby keithwood; Sun Jul 15, 2018 11:58 pm Re: Will VST3 plugins stop working with the next macOS udates?

mystran wrote:More specifically, it's important to realise that in "audio performance" we are normally not really interested in raw CPU through-put, but rather the minimum wall-clock time (ie. latency) to process a given block of audio through a given signal chain.

One can generally convert serial dependency chains into parallel pipelines by adding additional latency (basically add extra buffer of latency for each plugin in the dependency chain), which then helps improve CPU utilisation and get closer to the raw through-put, but this is directly at odds with the (usual) goal of keeping the latency to the minimum.

So yeah.. we could do more parallel work, sure.. but nobody wants to multiply the audio buffer latency by 10 just because they happen to put 10 plugins into a serial dependency chain (which is basically what you need to pipeline the thing) which is why single-threaded performance matters.


Are you saying that DAWs are optimized on the assumption there is a single signal path?
mystran
KVRAF
 
4928 posts since 11 Feb, 2006, from Helsinki, Finland

Postby mystran; Mon Jul 16, 2018 1:54 am Re: Will VST3 plugins stop working with the next macOS udates?

keithwood wrote:Are you saying that DAWs are optimized on the assumption there is a single signal path?


No, I'm saying that assuming sufficient number of CPU cores to parallel process everything that can be parallel processed without additional latency, the longest (in sense of processing time) serial path that exists in the audio processing graph is still limited by single-threaded performance.

In practice, you usually have plenty of parallel opportunities early on when you're processing individual tracks... then less as you get into processing sends and sub busses and finally by the time you end up at the master bus you're running single-threaded. Assuming we don't want to add additional latency for pipelining, then adding more cores can only ever speed up the first part where we process individual tracks.

At some point (depending on how you route your signals) you just don't have any parallel stuff anymore as everything is serially dependent and at that point single-threaded performance is all that matters and all the other cores are pretty much stuck sitting idle. You can try to mitigate the idle time somewhat by assuming that not all tracks are going to be able to receive live MIDI and only plugins with their editors open can receive user interaction so processing of some tracks can be started early (and I believe there's some hosts that try to do this), but there's still always a longest path "from user to speakers" that's ultimately limited by single-threaded performance unless you add more latency.
Image <- plugins | forum
keithwood
KVRist
 
56 posts since 24 Dec, 2015, from Bristol, UK

Postby keithwood; Mon Jul 16, 2018 5:23 am Re: Will VST3 plugins stop working with the next macOS udates?

mystran wrote:No, I'm saying that assuming sufficient number of CPU cores to parallel process everything that can be parallel processed without additional latency, the longest (in sense of processing time) serial path that exists in the audio processing graph is still limited by single-threaded performance.


How many cores is sufficient? :-) Let's say I'm doing MIDI mock ups of orchestral or film scores.
PreviousNext

Moderator: Moderators (Main)

Return to DSP and Plug-in Development