[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
        Issues · csound/csound · GitHub
Discussions of bugs and features can be posted here

Try - j 4

Sometimes works but depends on the orchestra

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

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