Does ableton utilize all 8 cores?
-
Jesse Cannon
- Posts: 5
- Joined: Tue Jan 08, 2008 11:22 pm
Does ableton utilize all 8 cores?
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?
-
sweetjesus
- Posts: 8803
- Joined: Wed Mar 31, 2004 3:12 pm
- Location: www.fridge.net.au
- Contact:
-
divisional
- Posts: 40
- Joined: Sat Jun 07, 2003 3:40 pm
- Location: Phoenix, AZ
Re: Does ableton utilize all 8 cores?
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!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?
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.
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.
-
sweetjesus
- Posts: 8803
- Joined: Wed Mar 31, 2004 3:12 pm
- Location: www.fridge.net.au
- Contact:
no not if the app has multithreading built into it.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.
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).
Which is what happens.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.
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.
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.sweetjesus wrote: no not if the app has multithreading built into it.
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