Page 1 of 1

Does ableton utilize all 8 cores?

Posted: Sat Jan 26, 2008 12:41 am
by Jesse Cannon
I am probably buying a Mac Pro this week and run ableton 7 presently will Ableton use all 8 Cores or is it a waste for this app?

Posted: Sat Jan 26, 2008 1:11 am
by sweetjesus
it does use all 8cores but i havent seen too many people post massive gains with 8 cores.

i run Live on a quad core pc setup which i scored for a grand and i havent been happier.

Posted: Sat Jan 26, 2008 1:12 am
by Angstrom
I think that Ableton keeps assigning cores to tracks until it runs out of cores and then it will cycle round again. So track 8 will be calculated by core 8, and track 9 will be on core 1.

I don't think that they set a limit. I'm pretty sure it's open ended like that.

Re: Does ableton utilize all 8 cores?

Posted: Sat Jan 26, 2008 1:55 am
by divisional
Jesse Cannon wrote:I am probably buying a Mac Pro this week and run ableton 7 presently will Ableton use all 8 Cores or is it a waste for this app?
I am not sure myself about "using all 8 cores" but the performance of Live 7 on my new MacPro is just mind blowing. I doubt I will use as many tracks and plugins and effects as it would take to cripple it. Enjoy!

Posted: Sat Jan 26, 2008 2:07 am
by jonny72
For any application, only one process can be assigned to one core at a time - so to use eight cores it would need at least eight processes going on at the same time. Plus I'm pretty certain the process to core allocation is performed by the cpu /os rather than the application so it would depend a bit on what else was going on at the same time. Double plus, some resources aren't duplicated so are shared between the cores rather than each having its own.

I've read plenty of reports of applications not using all cores even when in theory it should be. Which could be down to the application (whether it was compiled to use as many cores as possible) or the cpu / os.

Posted: Sat Jan 26, 2008 2:10 am
by sweetjesus
jonny72 wrote:For any application, only one process can be assigned to one core at a time - so to use eight cores it would need at least eight processes going on at the same time. Plus I'm pretty certain the process to core allocation is performed by the cpu /os rather than the application so it would depend a bit on what else was going on at the same time. Double plus, some resources aren't duplicated so are shared between the cores rather than each having its own.

I've read plenty of reports of applications not using all cores even when in theory it should be. Which could be down to the application (whether it was compiled to use as many cores as possible) or the cpu / os.
no not if the app has multithreading built into it.

for example i used to use appls like after effects and combustion a lot, they worked on multiple cores/cpu's but ran the one process/thread.

you can even check in task manager, you can set the 'affinity' of a process to multiple cores (which then present itself to the application in the internal code).

Posted: Sat Jan 26, 2008 3:06 am
by Angstrom
jonny72 wrote:For any application, only one process can be assigned to one core at a time - so to use eight cores it would need at least eight processes going on at the same time.
Which is what happens.
Live assigns each track to a core, then wraps around when tracks> cores

I can't find the authoritative Ableton post on this, It was most likely in the long gone Live 6 beta forum.

Posted: Sat Jan 26, 2008 1:49 pm
by thefool
sweetjesus wrote: no not if the app has multithreading built into it.
Its actually quite easy. I programmed a small app to test my new quadcore, basically just calculating primes. I just made the user [rather, me] able to select between 1, 2, 3 or 4 threads. All loops for the prime calculation was focused at it [no delays or window refreshes - just plain calcualtion], and if you chose to use 1 thread, it would show to use 25% [or around] in the taskmanager. Next up with 2 threads, 50% and so on.

So basically I imagine ableton would let tracks be in a thread by their own, OR they launch instances of VST's and effects in a thread by their own. There probably goes a little bit of processing power to manage the threads and sync them, but it shouldn't be any problem.
So its not as easy as it seems to write probably, but the theory behind it is.

Of course i'm not a live developer so i can't tell how they've done it :)


BUT yes it will probably use all 8 cores if they made it a little dynamic, which i'm quite sure they have [otherwise they would be kinda dumb :twisted:]