Originally Posted by True North
Multi-core based machines are now a major factor pushing forward the viability of natively run DAW's such as Reaper and many others.
There was a fairly extensive thread in the Steinberg Nuendo forum which outlined some issues with Steiny DAW's properly managing multiple cores. The problem was somewhat masked with four cores but seemed to be highlighted with the introduction of Dual - Quads. The problem was most noticable when latencies dipped at and below 64 samples. For some reason the single Quads outperformed the Dual Quads - Steiny later came out and admitted that there were issues with the way their managed multiple cores. http://www.nuendo.com/phpbb2/viewtop...317&highlight=
So many of the major DAW's have come out stating that they are multi-core ready but this technology is all so new I am wondering if the issues are only Steinbergs. When you couple the 'newness' of the technology with the fact that the two majors (Intel and AMD) have different CPU architectures I wonder if it is possible to make a blanket statement that your DAW (any DAW) is multi-core ready.
From a programming standpoint, is it a fairly simple task to make a DAW like Reaper multi-core ready?
Can DAW companies truthfully make blanket statements like Multi Core ready ?
Are there different considerations in programming for managing multi cores with AMD VS Intel chips?
Is there any forseeable issues in moving from 8 cores to lets say 16 cores ?
I can't speak too much for other DAWs since I'm not completely sure about how they do things internally, but I can tell you what I've seen.
REAPER is very good at utilizing multiple cores, especially when not doing live monitoring. The reason for this is that when possible, it will render each track slightly ahead of time, load balancing across CPUs.
Running item rendering, resampling, mixing, and FX ahead of time on multiple CPUs at the same time has some good advantages, in that as long as they stay ahead, the audio thread never really has to wait on it.
The downside is since the rendering happens ahead, real time user FX parameter changes can be delayed (by anywhere from 50-200ms) which can bother some people. Also UAD plug-ins for example don't like the out of order element of it, they expect all of their plug-ins to be called sequentially.
I'm going to go out on a limb here and say that from what I've seen, at least some other hosts tend to use a different model, that involves having to synchronize each CPU for every audio block.
In general fully utilizing multiple CPUs in a low latency fashion is a very difficult problem. We're planning on doing everything possible to improve it and support the top end hardware. We got one of the dual quads a few months ago for testing, and were pleased to see everything work quite well