+1EvilDragon wrote: Tue Jun 18, 2019 8:49 pm Kill 32-bit, it's time.Unless, like, 40% of your userbase is still on 32-bit. Which I don't think is the case at all
Plus, you wouldn't need to support Carbon any longer - right?
I'd much rather like to see Diva and Repro-5 and Bazille taking less CPU yet still sounding exactly the same.
Will your plugins be updated to support the AVX on newer cpu's?
-
- KVRist
- 103 posts since 30 Jul, 2014
-
- KVRist
- 51 posts since 19 Jan, 2017 from Germany, Hannover
+1
- u-he
- 30213 posts since 8 Aug, 2002 from Berlin
I think you're expecting too much from this.
I did try AVX once, I think it was in connection with Repro, and I did not see any major performance boost. The benefit of SSE with its 4-way parallelism is usually twice the speed. If AVX scales the same, it's little more than two and a half times the speed. For Diva and others to make more out of it, we would have to reorganize most of our synths from processing voice by voice to processing module by module. This would reduce the benefit of multicore processing, and it would make rendering single voices a lot more expensive. I can think of two or three sections in ACE and Bazille where I could hand-optimize some sections. But that would make the code a lot more complex and harder to maintain.
Furthermore there is no "one AVX to rule all". The differences in instruction set are scattered all over the place. My 2013 Mac Pro for instance does not have the FMA instruction. But the FMA instruction (multiply and add 8 values in one go) is maybe the one instruction which could squeeze another percent or two out of our filters.
What benefits a lot are the olden digital filters (aka Biquad aka Direct Form filters). In fact, the FMA instruction is "made for it". Unfortunately though, we currently have one developer swiping all our code to get rid of those. Simply because even 64 bit precision is not enough to get rid of their numerical instability and inaccuracies. From now on even all those dozens of little EQs and mini-filters placed in the signal path of various processes are based on analogue modelling - and wouldn't benefit much from AVX.
I will give AVX another shot when writing Zebra's filters. As they're stereo, I can probably make good use for 8-way parallelism for filters which currently benefit from 4-way parallelism. But I'm not holding my breath.
- KVRAF
- 24432 posts since 7 Jan, 2009 from Croatia
Awww. 
Not sure how then introducing AVX has helped Richard double the polyphony of The Legend...
Not sure how then introducing AVX has helped Richard double the polyphony of The Legend...
- u-he
- 30213 posts since 8 Aug, 2002 from Berlin
He calculates all 8 voices in parallel. With only SSE, he gets 4 voices.EvilDragon wrote: Wed Jun 19, 2019 8:14 am Awww.
Not sure how then introducing AVX has helped Richard double the polyphony of The Legend...
Had he parallelized things to take advantage of SSE for one voice, a single voice would run twice as fast. Or maybe he did and he maintains two variants of the same code. Or maybe he found a clever way to template it away.
(I suspect though, some of the oscillator code does not lend itself for SSE/AVX though, I guess therefore you'll see a difference in CPU for a different number of voices)
- u-he
- 30213 posts since 8 Aug, 2002 from Berlin
(the time wasted to explain to people how other developers might work... feels like being a scientist who wastes a lot of time debunking antivaxxer myths
)
- KVRist
- 352 posts since 24 Aug, 2017
Intel 12th gen cpu:s doesnt support avx-512
