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
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >
>
>