JACK/Ardour and Quad vs. Dual Core

Does JACK and Ardour take advantage of multiple CPUs
under Linux? I’m wondering if it’s worth it to get a dual or quad core for:

  • Ardour recording and editing
  • JAMIN mastering
  • LADSPA/TAP/Steve Harris plugins
  • WineASIO and VST plugins
  • JACK Audio/MIDI

Or are these apps not written to take advantage
of 2 or 4 processors?


I can’t answer for any specific application. But if an application is written to be multi-threaded then it will take advantage of the presence multiple cores (or multiple processors) as long as SMP is enabled in the kernel (it’s hte OS that handle it, the application don’t care).

There’s a JACK server called jackdmp written specially for multi-processor machines.

Ardour is written to take advantage of multiple cores, but currently in a way that differs from many other newer releases of proprietary DAWs. We do all audio processing in one thread (i.e. on one CPU). This design is rooted on the assumption that the user will have 1 or 2 CPUs, and thus allows dual CPU systems to have a CPU free for GUI, disk i/o, MIDI & OSC I/O etc. I believe that this was the right design until very recently.

What has changed is that 4-CPU systems are now becoming relatively affordable. With 2 CPUs, I don’t believe that the “use as much CPU as possible for DSP” is the right approach for most users. But with 4, a different model is needed.

Some version of Ardour 3.0 will feature parallelization of the audio processing code.

IS simply using pthreads sufficient on distributing the load when you start having >= 4 cores? Does OpenMP handle this better? (just curious)

I think that implementing the possibility of offloading a task/thread/etc to a different CPU where possible is a very welcome feature, already at this point in time. We would like to be able to use all the hardware in our PC’s.
I.e.: not just the big things like DSP, but also the smaller things starting in the near future?

What’s the current state of Ardour multithreading?

This thread is over 10 years old, and anything in it is so far out of date as to be worthless. You would be MUCH better to start a new thread to ask this question.


See also:


Under the title ‘DSP CPU Utilization’