Jump to content

Can Logic use efficiency cores on m3?


Cowboy4d2
Go to solution Solved by oscwilde,

Recommended Posts

  • Solution
2 hours ago, Cowboy4d2 said:

Is there a setting or something I’m missing that allows Logic to use the performance AND efficiency cores? 

Processing threads preference: The default (Automatic) setting uses both Processing/Efficiency cores. You can override this to force a specific number of cores...so on a 12 core processor, for example, setting 10 would use 8 processing cores and 2 efficiency cores, selecting 1 thru 8 would only use the selected number of processing cores. Obviously, the number of processing/efficiency cores varies between Mac models....so there are only four or six processing cores available on some models.
In general, Automatic is fine - but some users running other apps alongside Logic (or using internal samplers like Kontakt) have found a better balance of performance for their needs by changing this value/the corresponding value in the other app/plug-in).
In short, if your situation "needs" you to tweak this setting, then have at it.
If not, there's no need to adjust it.
f888fd721c2d713110235f31f11435f9.thumb.png.5bd9b3549308e71c4a2275a6cce73beb.png
 

  • Like 3
Link to comment
Share on other sites

I am nowhere an expert on these matters, just sharing a general experience. When I got my new M2 I was wondering about Logic's use of processor power. A friendly & knowledgeable soul one these matter had the following recommendation, in this case using Omnisphere as an example.

I usually used Omnisphere in Multimode, for those not familiar with it, the synthesizer can load up to eight instruments and a substantial load of FX in a single Multi that would sit on one track in Logic only instead of eight instances of Omnisphere each on a separate track. (Of course I could use multi out and have the internal instrument on aux fader, but this makes no difference)

I was misguided to think that I would be going easy on CPU resources if for example I would use four Multi Instances of Omnisphere instead of 32 single instances.

The opposite was the case. If I'd use only four instances, not all cores would be used to share the load in the same way as if I would load 32 single instances. I was very astonished to see in my test that even 32 instances were processed with ease.

 

  • Like 3
Link to comment
Share on other sites

6 hours ago, Scriabin rocks said:

I am nowhere an expert on these matters, just sharing a general experience. When I got my new M2 I was wondering about Logic's use of processor power. A friendly & knowledgeable soul one these matter had the following recommendation, in this case using Omnisphere as an example.

I usually used Omnisphere in Multimode, for those not familiar with it, the synthesizer can load up to eight instruments and a substantial load of FX in a single Multi that would sit on one track in Logic only instead of eight instances of Omnisphere each on a separate track. (Of course I could use multi out and have the internal instrument on aux fader, but this makes no difference)

I was misguided to think that I would be going easy on CPU resources if for example I would use four Multi Instances of Omnisphere instead of 32 single instances.

The opposite was the case. If I'd use only four instances, not all cores would be used to share the load in the same way as if I would load 32 single instances. I was very astonished to see in my test that even 32 instances were processed with ease.

A single channel strip is a single thread and can only be run on one core. 
 

If you have a super-heavy plug-in, it will not be spread out among the cores. If you have the option to split it out into multiple instances on separate channel strips, the load can be balanced among the cores. 

  • Like 4
Link to comment
Share on other sites

There have been some reports that LogicPro itself is not using efficiency cores for handling track dsp processing of plugins.  No matter what setting you use in prefs, the efficiency cores appear to be ignored by LogicPro.  There are some you tube videos showing this.

That may or may not be the best thing to do, but that is what LogicPro currently does.  

Note that efficiency cores would be more likely to produce drop outs in dsp processing compared to performance cores, so that may be why they are ignored.  Efficiency cores use 1/10 the power of performance cores....and also don't perform.  Its entirely debatable about whether efficiency cores should be used by the DAW for plugin processing where it doesn't really know what the plugin is going to do.  Some plugins might be able to use efficiency cores no problem, some others might cause massive audio dropouts prematurely.

If Omnisphere or any other plugin is using multiple cores itself beyond the single thread that LogicPro normally would give it, that's entirely on the plugin developer for how they would or would don't use efficiency cores.

 

Link to comment
Share on other sites

I think part of the charm of Logic and a Mac (for an artist like me) is that I don't have to think about these things. 🙂

An M series chip with Logic is so effective and capable. You rarely run out of power. If you do, freeze track? Bounce in place?

I have recently seen a youtube video of a producer in the 80's working on a big mixing console. If i could have just told him about the future where with a push of a button everything on that track is rendered within a few seconds. 
And they were producing amazing music back then without all the things we have in a small M1 Macbook Air. 

  • Like 1
Link to comment
Share on other sites

 

4 hours ago, Dewdman42 said:

There have been some reports that LogicPro itself is not using efficiency cores for handling track dsp processing of plugins.  No matter what setting you use in prefs, the efficiency cores appear to be ignored by LogicPro.  There are some you tube videos showing this.

That may or may not be the best thing to do, but that is what LogicPro currently does.  

Note that efficiency cores would be more likely to produce drop outs in dsp processing compared to performance cores, so that may be why they are ignored.  Efficiency cores use 1/10 the power of performance cores....and also don't perform.  Its entirely debatable about whether efficiency cores should be used by the DAW for plugin processing where it doesn't really know what the plugin is going to do.  Some plugins might be able to use efficiency cores no problem, some others might cause massive audio dropouts prematurely.

If Omnisphere or any other plugin is using multiple cores itself beyond the single thread that LogicPro normally would give it, that's entirely on the plugin developer for how they would or would don't use efficiency cores.

 

This is exactly what I was talking about.   There is a YouTube video showing multiple daws and track count processing.  Only reaper and cubase used all cores, both efficiency and performance. Logic, Protools, and Abelton only use performance cores.  My original post was just wondering if there was a way to spread logic out to all cores.  

Edited by Cowboy4d2
Link to comment
Share on other sites

DP is also using all the cores, from another tester.

But again, its not clear yet who is doing it the best way.  

You cannot force LogicPro to use the efficiency cores for processing plugins right now, as of version 10.8.1.  it doesn't do it.  Its not certain whether:

  1. LogicPro is doing it the best way
  2. Steinberg, Reaper and DP are doing it the best way.

One possibility is that Steinberg, Reaper or DP might be actually introducing more probability of dropouts or other odd problems from having two different kinds of cores handling threads.  In that possibility, LogicPro is avoiding the efficiency cores for plugin processing Gand avoiding those theoretical problems.

Another possibility is that any one of those three DAW's are doing extra smart stuff that makes it so that efficiency cores can be used without introducing random drop outs or other problems because they are doing some kind of multi-threading strategy we don't know about, making their approach completely fine and safe to use, with more total coresbeing used for plugins.

A third possibility is that there is no problem at all mixing the cores, and Steinberg, reaper and Dp are doing it, why doesn't everyone else, including Apple?

We don't really know the answers to those questions, but we do know that as of now, LogicPro does not use the efficiency cores for processing plugins and typical DSP heavy work.  Possibly for a good reason, possibly as an oversight....but we don't know the answer to that and probably never well.

Maybe LogicPro will eventually make use of efficiency cores...like the others, or perhaps the other DAW's will realize they should be avoiding the efficiency cores too, or perhaps they all need to work out some multi-threading strategies to be able to use the efficiency cores in some way rather then sitting there idle.

DAW users should buy Apple Silicon Macc with more performance cores in my view, efficiency cores are not for us

Link to comment
Share on other sites

1 hour ago, Dewdman42 said:

LogicPro does not use the efficiency cores for processing plugins and typical DSP heavy work.  Possibly for a good reason, possibly as an oversight

You can manually force this with the Processing threads preference....per the "12-core...." example in my post above. Note that this means the processing/efficiency cores are "available" for use by Logic.
As mentioned above, the Auto setting is recommended unless a user has specific requirements, such as running another app alongside Logic or something like Kontakt "inside" Logic (yes, technically outside Logic on Silicon/native....but a plug-in).

It is all about balancing load - for each user/use case....but there can be a trade-off with stability/reliability....so not likely to be an "oversight".
Apple themselves mention this in the last paragraph here:

https://support.apple.com/en-au/101921

  • Like 2
Link to comment
Share on other sites

6 hours ago, Cowboy4d2 said:

Agreed with all of this.  The point of the testing was that the M2 with less “cores” was better for music production than an M3 with more “cores”.  This is because of the ratio of performance to efficiency. Kinda wild! 

yea actually the M1Pro even even did better then the M2Pro which did better then M3Pro, due to each model having less and less performance cores... at least with those DAW's which were not using the efficiency cores that was the case.

I feel that the efficiency cores are more ideal for a lot of non DAW usage.  The reason is because they now have more efficiency cores compared to before and for what most people are doing, they don't actually ned performance cores like we do.  But having twice as many efficiency cores is actually quite helpful for them, giving them better performance, but still low power consumption and longer battery life.  

DAW users are a special bunch.  We need to crank on the Cpu and maintain a real time audio output without drop outs.  The M1Pro had more performance cores and was actually a pretty good option for low ram daw usage, but with the M3 line, I think M3Max is much better choice for DAW use, because we need more performance cores and probably even more in the future.

Also, I think the various DAW's really need to go back to the drawing board and figure out new multi-threading strategies that will handle these dual core type architectures in a better way in order to make better use of all the cores without getting drop outs prematurely from assign cpu-hungry tasks to efficiency cores.  This may sound simple on the surface, but multi-threading strategies are not simple to begin with and its even more complicated now with this situation.

 

 

Link to comment
Share on other sites

7 hours ago, Dewdman42 said:

DP is also using all the cores, from another tester.

But again, its not clear yet who is doing it the best way.  

You cannot force LogicPro to use the efficiency cores for processing plugins right now, as of version 10.8.1.  it doesn't do it.  Its not certain whether:

  1. LogicPro is doing it the best way
  2. Steinberg, Reaper and DP are doing it the best way.

One possibility is that Steinberg, Reaper or DP might be actually introducing more probability of dropouts or other odd problems from having two different kinds of cores handling threads.  In that possibility, LogicPro is avoiding the efficiency cores for plugin processing Gand avoiding those theoretical problems.

Another possibility is that any one of those three DAW's are doing extra smart stuff that makes it so that efficiency cores can be used without introducing random drop outs or other problems because they are doing some kind of multi-threading strategy we don't know about, making their approach completely fine and safe to use, with more total coresbeing used for plugins.

A third possibility is that there is no problem at all mixing the cores, and Steinberg, reaper and Dp are doing it, why doesn't everyone else, including Apple?

We don't really know the answers to those questions, but we do know that as of now, LogicPro does not use the efficiency cores for processing plugins and typical DSP heavy work.  Possibly for a good reason, possibly as an oversight....but we don't know the answer to that and probably never well.

Maybe LogicPro will eventually make use of efficiency cores...like the others, or perhaps the other DAW's will realize they should be avoiding the efficiency cores too, or perhaps they all need to work out some multi-threading strategies to be able to use the efficiency cores in some way rather then sitting there idle.

DAW users should buy Apple Silicon Macc with more performance cores in my view, efficiency cores are not for us

This post pretty much sums up the present state of affairs. I wonder what exactly the code optimization strategies are for the M3 chipset. Maybe some coders here could elaborate. We may be in for a new update of Logic?

Link to comment
Share on other sites

I heard from someone at VSL who told me that are recent ADC conference Steinberg, Apple and VSL were chatting together about some of the challenges and problems that have been coming up which can be attributed to this particular architectural challenge. it is my feeling that they are just now beginning to explore how to engineer DAW multi-threading...and we will see this developing over the next couple years as they figure it out.  My thoughts are that Apple has taken a conservative approach for now with LogicPro, avoiding efficiency cores with LogicPro...or it could be that they are allowing MacOS to make the decision, hard to say, but in any case, its possible the others mentioned Steinberg, MOTU and Reaper actually did absolutely nothing but keep using the old strategy which is why all the cores are being used...but we haven't heard the end of it...could be some weird problems from them using all the cores all the time...this issue is just coming to the surface now...it will be an interesting situation to watch.

 

  • Like 1
Link to comment
Share on other sites

4 hours ago, Dewdman42 said:

Have you actually tried it?  There is a video circulating the forums lately where the guy tried that option and it did not enable efficiency cores in LogicPro.

Of course, per my mention of Kontakt.
I have 3 M1-based Macs (and an M1 iPad) and have experimented with this/other settings on each to work best for my needs/the use of the particular Mac/project/plug-ins/apps used.
Each machine is used in a different way with different hardware and software, and performs certain roles in my uses of them.

The purpose of the preference is to allow users to alter their machine's CPU usage balance between Logic/other apps/plugs running simultaneously for their specific needs - by specifying the number of cores that Logic "can" address.....allowing non-addressed cores to be freely addressed by the OS/other apps.
This does not, however, mean that Logic has "exclusive" use of these cores.
The linked Apple document states "if you're using a CPU-intensive application such as a video editing app simultaneously with Logic Pro" in the first paragraph, indicating what the preference is aimed at (i.e. balance between Logic/other apps):
https://support.apple.com/en-au/101921

The "circulating video" may be making a presupposition that the preference is all about enabling/disabling cores - specifically for DSP and for the exclusive use of the app.

3 hours ago, Dewdman42 said:

it could be that they are allowing MacOS to make the decision

The OS handles processor scheduling (hybrid pre-emptive and co-operative) by default...for processing (performance)/efficiency cores....for all running apps.

The question about Logic being able to use the efficiency cores for DSP tasks or whether it uses them for specific non-DSP roles is where the conjecture lies. From general experiences/testing by multiple users, it "appears" that the efficiency cores are not used for intensive (i.e DSP) calculations. This does not, however, mean that Logic cannot/does not use the efficiency cores for other operations.

Link to comment
Share on other sites

Good news/bad news. The bad news is, Apple is probably never going to tell us things like their algorithms for divvying up CPU core usage in Auto mode, or what the M-series performance cores are and are not capable of. This stuff is behind the curtain, and will probably stay that way. So trying to infer what they are doing with them, and (worse) what they will do in the future, is an exercise in futility.

The good news is that the folks who are responsible for the Logic code - and its algorithms for utilizing M-series CPU resources - are in a better position than the developers of any other DAW to make the best decisions on this topic. That's a big benefit of designing the CPU in-house. There are facets and features of the M series - and of the macOS multithreading support which uses it -  that Apple may never tell anyone outside of Apple. But Apple developers - including the folks working on Logic - are privy to these secrets. We, the users of Logic, get a huge benefit from this. Logic may always have better utilization of M-series multithreading capability than any other DAW. Even if we, the lowly users, don't understand exactly why. 🙂

I'm all for experimenting, trying different configurations, measuring the performance of Auto multithreading, etc. I've done a fair amount myself. But I'd wager that Auto core management is going to yield the best performance in most (not all, but in the vast majority of) cases....because the folks who implement  Logic multithreading know things about the hardware and OS that we will never know.

Edited by dmitch57
  • Like 3
Link to comment
Share on other sites

18 hours ago, Dewdman42 said:

yea actually the M1Pro even even did better then the M2Pro

This is only true for the comparison between the high-end M1 Pro and the low-end M2 Pro. The high-end M2 Pro has the same number of performance cores as the high-end M1 Pro, plus two extra efficiency cores, so it’s about 20% faster. 
 

The M3 Pro actually has fewer cores — they’ve restructured the product line for the M3 generation. 

  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...