Csound Csound-dev Csound-tekno Search About

[Csnd] Multicore Rendering?

Date2023-11-03 10:41
FromPhilipp Neumann
Subject[Csnd] Multicore Rendering?
Hello everybody,

is there a way to use multiple cpu cores when rendering audio out of csound?

Currently i try to render two 16-channel files which are  12 Minutes long, and it really takes an enternity to do this.

Best,
Philipp
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2023-11-03 11:06
FromJohn ff
SubjectRe: [Csnd] Multicore Rendering?
Try - j 4

Sometimes works but depends on the orchestra 


-------- Original Message --------
From: Philipp Neumann 
Sent: Fri Nov 03 10:41:41 GMT 2023
To: csound@listserv.heanet.ie
Subject: [Csnd] Multicore Rendering?

Hello everybody,

is there a way to use multiple cpu cores when rendering audio out of csound?

Currently i try to render two 16-channel files which are  12 Minutes long, and it really takes an enternity to do this.

Best,
Philipp
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2023-11-03 12:37
FromMichael Gogins
SubjectRe: [Csnd] Multicore Rendering?
Multicore rendering currently is implemented only in Csound 6. 

I think the fact that Csound has multicore rendering is fantastic, and kudos to John ffitch for implementing it, but don't expect too much performance gain.

In some use cases, multicore can offer a significant but not spectacular speedup. In other cases, multicore can actually slow things down. For more information, see https://purehost.bath.ac.uk/ws/portalfiles/portal/372374/ParCS5.pdf.

Pieces that will benefit from multicore rendering generally have multiple instances of the same instrument playing at the same time, have longer notes, and use Csound orchestra code instead of external native code (plugins, etc.). I think for such pieces, every time you multiply cores by 2, you multiply performance by about 1.25 to 1.5. This actually is typical for multithreaded applications.

I have used multicore rendering with -j4 for some of my very compute-intensive pieces, and it noticeably helped speed up the repeated renderings I needed to do when I was composing the pieces. Otherwise, I don't much use it.

Real speedups in dynamic languages come from using the graphics processing unit (GPU), as in shader language. The GPU is designed to run MASSIVELY parallel operations and speedups can be startlingly high. There are experiments doing this in Csound, but nothing is in the main releases.

Regards,
Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Fri, Nov 3, 2023 at 7:07 AM John ff <jpff@codemist.co.uk> wrote:
Try - j 4

Sometimes works but depends on the orchestra


-------- Original Message --------
From: Philipp Neumann <philipp@von-neumann.com>
Sent: Fri Nov 03 10:41:41 GMT 2023
To: csound@listserv.heanet.ie
Subject: [Csnd] Multicore Rendering?

Hello everybody,

is there a way to use multiple cpu cores when rendering audio out of csound?

Currently i try to render two 16-channel files which are  12 Minutes long, and it really takes an enternity to do this.

Best,
Philipp
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2023-11-03 15:04
FromIain Duncan
SubjectRe: [Csnd] Multicore Rendering?
Another option, but rather a dramatic change of workflow, is to use csound inside Max, inside Ableton Live. In which case you can take advantage of Live's excellent core spreading. But it's kind of a whole different kettle of fish from just using Csound. (Figured it was worth mentioning though)

iain

On Fri, Nov 3, 2023 at 5:37 AM Michael Gogins <michael.gogins@gmail.com> wrote:
Multicore rendering currently is implemented only in Csound 6. 

I think the fact that Csound has multicore rendering is fantastic, and kudos to John ffitch for implementing it, but don't expect too much performance gain.

In some use cases, multicore can offer a significant but not spectacular speedup. In other cases, multicore can actually slow things down. For more information, see https://purehost.bath.ac.uk/ws/portalfiles/portal/372374/ParCS5.pdf.

Pieces that will benefit from multicore rendering generally have multiple instances of the same instrument playing at the same time, have longer notes, and use Csound orchestra code instead of external native code (plugins, etc.). I think for such pieces, every time you multiply cores by 2, you multiply performance by about 1.25 to 1.5. This actually is typical for multithreaded applications.

I have used multicore rendering with -j4 for some of my very compute-intensive pieces, and it noticeably helped speed up the repeated renderings I needed to do when I was composing the pieces. Otherwise, I don't much use it.

Real speedups in dynamic languages come from using the graphics processing unit (GPU), as in shader language. The GPU is designed to run MASSIVELY parallel operations and speedups can be startlingly high. There are experiments doing this in Csound, but nothing is in the main releases.

Regards,
Mike

-----------------------------------------------------
Michael Gogins
Irreducible Productions
http://michaelgogins.tumblr.com
Michael dot Gogins at gmail dot com


On Fri, Nov 3, 2023 at 7:07 AM John ff <jpff@codemist.co.uk> wrote:
Try - j 4

Sometimes works but depends on the orchestra


-------- Original Message --------
From: Philipp Neumann <philipp@von-neumann.com>
Sent: Fri Nov 03 10:41:41 GMT 2023
To: csound@listserv.heanet.ie
Subject: [Csnd] Multicore Rendering?

Hello everybody,

is there a way to use multiple cpu cores when rendering audio out of csound?

Currently i try to render two 16-channel files which are  12 Minutes long, and it really takes an enternity to do this.

Best,
Philipp
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here