Re: [Csnd-dev] [EXTERNAL] Re: [Csnd-dev] Parallel Csound performance
Michael Gogins <[email protected]> Thu, 30 Oct 2025 20:57:11 +0100
| Newsgroups | gmane.comp.audio.csound.devel |
|---|---|
| Message-ID | <CAFswGP21faLCiWsxf_spSoN+8uEa8HopQ6UxFnujztw=SZb8xw@mail.gmail.com> |
Very nice! ----------------------------------------------------- Michael Gogins Irreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com On Thu, Oct 30, 2025 at 5:44 PM Victor Lazzarini < [email protected]> wrote: > I did a little work on this and replaced the lock-based barrier (which > seemed heavy to me) by a lightweight lock-free one. > Now I am getting some interesting results. Xanadu, which seems to be a > good test case, runs like this > > single-threaded: 0.78s > 8 threads: 0.37s > > out of the box. I checked the outputs (as usual) and the waveforms are > identical. > ======================== > Prof. Victor Lazzarini > Maynooth University > Ireland > > > On 29 Oct 2025, at 23:36, Victor Lazzarini < > [email protected]> wrote: > > > > yes, it is running correctly. Output waveforms are the same. > > ======================== > > Prof. Victor Lazzarini > > Maynooth University > > Ireland > > > >> On 29 Oct 2025, at 23:12, Steven Yi <[email protected]> wrote: > >> > >> I'd be careful about it running fast but incorrectly. That's always > >> been my concern with ParCS is correctness. > >> > >> On Wed, Oct 29, 2025 at 6:22 PM Victor Lazzarini > >> <[email protected]> wrote: > >>> > >>> No, I don't think we ever disabled it. There were some questions about > re-enabling some analysis to the parser (which existed in parser 2) but > beyond that we never touched it. > >>> > >>> I continued to build with it but had not been actively testing the > code. I am surprised at how well it run without any changes. > >>> > >>> best > >>> Prof. Victor Lazzarini > >>> Maynooth University > >>> Ireland > >>> > >>>> On 29 Oct 2025, at 22:14, Steven Yi <[email protected]> wrote: > >>>> > >>>> *Warning* > >>>> > >>>> This email originated from outside of Maynooth University's Mail > System. Do not reply, click links or open attachments unless you recognise > the sender and know the content is safe. > >>>> > >>>> This is odd, as I thought cspar was disabled in Csound? > >>>> > >>>>> On Wed, Oct 29, 2025 at 6:08 PM Victor Lazzarini > >>>>> <[email protected]> wrote: > >>>>> > >>>>> I’m back investigating parallel Csound performance and it was > interesting to see that > >>>>> Csound 7 is working well with it, in fact far better than 6.18. > >>>>> > >>>>> Running 1000 oscillator instrs for 60 secs I got these stats > >>>>> > >>>>> ksmps = 100 > >>>>> ----------- > >>>>> single thread: 3.9s > >>>>> 8 threads: 3.9s > >>>>> > >>>>> ksmps = 150 > >>>>> ---------- > >>>>> single thread: 3.5s > >>>>> 8 threads: 2.7s > >>>>> > >>>>> ksmps = 300 > >>>>> ---------- > >>>>> single thread: 3.2s > >>>>> 8 threads: 1.6s > >>>>> > >>>>> ksmps = 500 > >>>>> ---------- > >>>>> single thread: 3.2s > >>>>> 8 threads: 1.2s > >>>>> > >>>>> ksmps = 1000 > >>>>> ---------- > >>>>> single thread: 3.3s > >>>>> 8 threads: 0.8 > >>>>> > >>>>> In comparison with 6.18 the last test ran at 11secs for 8 threads. > In fact, 6.18 was always slower in parallel > >>>>> performance. Something was very broken there. Single-threaded > performance is on a par with Csound 7. > >>>>> > >>>>> I can only think the new parser is working better with the parallel > dispatch, or that something else was wrong > >>>>> in the 6.x and got fixed in 7. Anyway, I am pleased with these > results. In general, ksmps=100 seems to be the break even > >>>>> point, below that multi-threaded performance is always losing. Also > ksmps=1000 is more or less the highest gain, > >>>>> with diminishing returns after that. In my computer, 8 threads seem > to be the optimal. > >>>>> > >>>>> best > >>>>> ======================== > >>>>> Prof. Victor Lazzarini > >>>>> Maynooth University > >>>>> Ireland > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> > > > >