How's the CPU efficiency in Live 10?

Discussion of music production, audio, equipment and any related topics, either with or without Ableton Live
Stromkraft
Posts: 7033
Joined: Wed Jun 25, 2014 11:34 am

Re: How's the CPU efficiency in Live 10?

Post by Stromkraft » Tue Nov 07, 2017 8:23 am

locojohn wrote:
Suppose there's a heavy effect on a particular track. Why can't Live utilise ALL cores to process this effect if it detects there's less work for other cores at that moment? Eg why should all other 3 cores be stuck while a single core is trying to complete a CPU-intensive operation?

I simply assumed Live 10 could handle this differently, this is why I asked about rendering performance.
I think for this to be possible there would need to be a breakthrough in how software interfaces with modern CPUs, so that cores can be presented to the software as one core and used that way effectively, also when a code thread has started to work on something. I'm outta my depth on how exactly these things work now so my take here is conceptual.

The OS can distribute work to some extent, but this functionality may not be up to the needs of the music software in this case, because a render are made by so many inter-dependent calculations and handing over work to threads running on another core does not come free, especially as likely results need to come back when ready. So there's a resource cost involved.

Think about, at every single sample step Live needs to calculate every little action on every track, on every send, every routing and sum up the result.

This is normal operation of course, not just when exporting. So what Live does now when rendering, I believe anyway, is to speed up this normal process to the max of what it has allotted on one core (which the OS negotiates). In practice this may be different. I haven't investigated.

The code in a plug-in sometimes can distribute some of its operations on multiple cores and it's perhaps possible that on certain CPUs, even if this plug-in works better with multi-core toggled off when monitoring, that having this toggled on for exporting could speed things up. It also could just end up being a fight for resources (with Live) and negate any gains made.

Granted, there are ideas out there how to route around problems like these involving cores, and new approaches may be better than older, but there's some expected inertia in changing an entire industry, of which music software is only a smaller part.

Talking about cores, do you realize that iPhones (some anyway) have at least six cores these days?
Make some music!

ash1
Posts: 195
Joined: Mon Oct 09, 2006 9:11 am

Re: How's the CPU efficiency in Live 10?

Post by ash1 » Tue Nov 07, 2017 9:52 am

had a problem with cpu usage managed to fix it
Last edited by ash1 on Tue Nov 07, 2017 11:50 am, edited 1 time in total.

[jur]
Site Admin
Posts: 1596
Joined: Mon Jun 01, 2015 3:04 pm
Location: Ableton

Re: How's the CPU efficiency in Live 10?

Post by [jur] » Tue Nov 07, 2017 10:07 am

ash1 wrote:so far the ableton beta 10 cpu usage is bad before you even load an effect the meter is on the move
its early stages so im sure it will get fixed as we go along
Actually it's not early stage at all, so if you feel something's wrong please report on Centercode with details/specs and status report.
Ableton Forum Moderator

Tuur
Posts: 543
Joined: Thu Jun 02, 2005 7:56 am

Re: How's the CPU efficiency in Live 10?

Post by Tuur » Tue Nov 07, 2017 10:12 am

[jur] wrote:...please report on Centercode with details/specs and status report.
Is it down?

Tuur
Posts: 543
Joined: Thu Jun 02, 2005 7:56 am

Re: How's the CPU efficiency in Live 10?

Post by Tuur » Tue Nov 07, 2017 10:44 am

NVM: it's back...

ash1
Posts: 195
Joined: Mon Oct 09, 2006 9:11 am

Re: How's the CPU efficiency in Live 10?

Post by ash1 » Tue Nov 07, 2017 11:51 am

managed to fix my cpu usage problem by updating sound drivers

Tuur
Posts: 543
Joined: Thu Jun 02, 2005 7:56 am

Re: How's the CPU efficiency in Live 10?

Post by Tuur » Tue Nov 07, 2017 11:57 am

ash1 wrote:managed to fix my cpu usage problem by updating sound drivers
8)

locojohn
Posts: 484
Joined: Mon Feb 19, 2007 8:42 am
Location: riga, latvia

Re: How's the CPU efficiency in Live 10?

Post by locojohn » Tue Nov 07, 2017 2:47 pm

Stromkraft wrote:
locojohn wrote:
Suppose there's a heavy effect on a particular track. Why can't Live utilise ALL cores to process this effect if it detects there's less work for other cores at that moment? Eg why should all other 3 cores be stuck while a single core is trying to complete a CPU-intensive operation?

I simply assumed Live 10 could handle this differently, this is why I asked about rendering performance.
I think for this to be possible there would need to be a breakthrough in how software interfaces with modern CPUs, so that cores can be presented to the software as one core and used that way effectively, also when a code thread has started to work on something. I'm outta my depth on how exactly these things work now so my take here is conceptual.

The OS can distribute work to some extent, but this functionality may not be up to the needs of the music software in this case, because a render are made by so many inter-dependent calculations and handing over work to threads running on another core does not come free, especially as likely results need to come back when ready. So there's a resource cost involved.
I recently used GCC from Developer Tools on MacOS Sierra with "-j 5" argument, which allowed to compile a large open source project and allocate jobs to available cores. While compiling, the CPU was at it's maximum, according to activity monitor. I thought the technology behind thread-based processes should be the same, although maybe it's a lot more complex when it comes to processing 3rd party plugins. Another MacOS application is HandBrake, which can encode (render!) videos and utilise all CPU cores at the same time. Anyway, I thought I would provide an example where it works.

Andrejs
/*
  • the basic tone of life remains the same,
    and in it there are some happy melodies
    and some sad melodies
    - sekito kisen
*/

Stromkraft
Posts: 7033
Joined: Wed Jun 25, 2014 11:34 am

Re: How's the CPU efficiency in Live 10?

Post by Stromkraft » Tue Nov 07, 2017 7:09 pm

locojohn wrote:
I recently used GCC from Developer Tools on MacOS Sierra with "-j 5" argument, which allowed to compile a large open source project and allocate jobs to available cores. While compiling, the CPU was at it's maximum, according to activity monitor. I thought the technology behind thread-based processes should be the same, although maybe it's a lot more complex when it comes to processing 3rd party plugins. Another MacOS application is HandBrake, which can encode (render!) videos and utilise all CPU cores at the same time. Anyway, I thought I would provide an example where it works.

Andrejs
Yeah, but none of your examples involves interdependent calculated audio streams (that is not ready-made simple bit streams, but a seemingly endless line of nested calculations creating one such stream per each routing and per each processing stage and each summing stage) worked into a time domain dependent finished product.

The structure of a binary app is not time-domain related in its nature. It has a completely different structure. There's probably some interdependence during build, but not at every single step as most apps are modular, parts are likely built separately.

Handbrake calculates something that is already known, pre-existing video frames in an already defined order and some pre-existing audio streams. The interdependence is very small compared to a song in a DAW.

I'd love to learn more about these things, certainly those that are on the forefront of creating new paradigms.
Make some music!

Nokatus
Posts: 1064
Joined: Fri Jul 01, 2005 7:06 am

Re: How's the CPU efficiency in Live 10?

Post by Nokatus » Wed Nov 08, 2017 12:05 am

locojohn wrote:Anyway, I thought I would provide an example where it works.
Yep, it's a different thing, as I'm sure you already know.

Anyway, the simplest way to think about the fundamental problem in audio processing parallelization: imagine you have something like eight very resource-intensive plugins inserted on one channel. They max out the CPU in your computer and you check the OS CPU meter, and find that there is plenty of capacity left across the cores (say, eight of them). The thing is, it is impossible to distribute the load so that each of those plugins is processed at the same time, each on a different core. The first plugin has to reach a result that it passes to the next one in the chain, and so forth. If you calculated all of those plugin processes at the same time, there would need to be some paranormal crap going on ;) as most of the cores would be working on data that doesn't exist yet.

Now, further imagine those eight separate plugins are actually the different stages of a super heavy single plugin. The audible outcome is the same, as is the internal audio processing logic inside the plugin. The DAW doesn't "see" what is going on inside that plugin, and it has very little say in trying to break that process into simultaneously calculated pieces on different cores, as it's impossible to do so even if the stages of the process were discrete plugins inserted on that same channel.

fishmonkey
Posts: 4082
Joined: Wed Oct 24, 2007 4:50 am

Re: How's the CPU efficiency in Live 10?

Post by fishmonkey » Wed Nov 08, 2017 11:13 pm

actually on the latest hardware, realtime processing is harder to achieve, even though there is theoretically more overall processing power available.

one problem is that fancy low-level power management can cause glitches that applications have no control over. and, as others have mentioned above, the coordinating and scheduling of multiple streams of processing is actually very tricky business.

in fact, if we could develop much, much more powerful processors then there would be no need to even mess with multicore, hyperthreaded machines. using multiple cores and parallel processing is more or less a way to overcome the limitations of single-core processing power. yes, using more cores provides more overall power, but at the cost of a lot of added complexity.
badbrainz wrote: I'm a drummer, so I'm already at an intellectual disadvantage here

ambientidm
Posts: 400
Joined: Tue Aug 12, 2008 4:57 am
Contact:

Re: How's the CPU efficiency in Live 10?

Post by ambientidm » Thu Nov 09, 2017 2:19 am

For me on my late 2011 mbp the cpu use is way better!!! It's also more stable for me.

Stromkraft
Posts: 7033
Joined: Wed Jun 25, 2014 11:34 am

Re: How's the CPU efficiency in Live 10?

Post by Stromkraft » Tue Nov 14, 2017 9:51 am

My initial report using Live 10b146 on my backup machine, a Core2Duo MBP using RME Babyface, that yesterday struggled in Live 9 on a 1024 samples buffer, occasionally crackling at around 80% engine load.

Live 10b146 running the same project is now not crackling even if the load engine meter goes up to 90%, which makes this meter seem more accurate than before. This is at a 512 samples buffer and running background apps, like Firefox with many windows open, that were not present yesterday with Live 9.

The project contains the MFL audio effect Magnetic.

This is just one quick impression, but it's looking good. Chances are there have been some smaller improvements in the performance area.

Future will tell if this affect also other projects.
Make some music!

scheffkoch
Posts: 491
Joined: Thu Jan 08, 2015 12:37 pm

Re: How's the CPU efficiency in Live 10?

Post by scheffkoch » Tue Nov 14, 2017 1:53 pm

...that sounds promising!!!
macbook pro late 2016, osx 10.13.6, rme multiface via sonnet thunderbolt expresscard adapter + thunderbolt to usb-c adapter, ableton live 10.0.1, push 2, komplete 9, maschine 2.7.6, touchable

pottering
Posts: 620
Joined: Sat Dec 06, 2014 4:41 am

Re: How's the CPU efficiency in Live 10?

Post by pottering » Wed Nov 15, 2017 4:09 am

Complex and Complex Pro Warp Modes use substantially less CPU here, seems like around 40% less.

Post Reply