Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

bxs

macrumors 65816
Original poster
Oct 20, 2007
1,180
553
Seattle, WA
I’m anxious to explore Apple’s new M1 capabilities.
I can run simple comparisons between…
  • Mac mini M1
  • Late 2016 15” rMBP13,3
  • 2017 iMac Pro
  • 2019 Mac Pro
I’m mainly interested in…performance and capabilities of...
  • 8-core CPU’s Low/High performance cores​
  • GPU 8-core use​
  • 16-core Neural Engine​
  • Unified memory shared between the CPU, GPU, and Neural-Engine​
  • Two dedicated ML accelerators for fast matrix multiplication​
  • Photos performance improvements for face recognition and other video related things​
  • Activity Monitor changes for displaying the system's resource use​

Some questions...​

  • I'm also wondering, and would like to know, how Big Sur decides to allocate applications' execution to high or low performing CPU core ?
  • Does it allow the application to run on any at first, and then after monitoring it for some brief amount of time, decide it would be better to switch it to an alternative core ?
  • Is there a system call (API) that requests one type of core vs. another ?
  • If my application appears to be running slow, how can I determine which type of core it's running on ?
  • If an application can spawn off multiple threads of execution can they each request different cores (low and high performing ones) ?
  • If application has two threads; one on a high performing core, and the other on a low performing core, can each communicate with each other? Also if the application is a multi-threaded one with the assumption all cores its running on have same capabilities (such as has been the case in earlier Macs), and the threads are running on a mix of low and high cores, the time to complete a solution will be dominated by the slow cores and leave the high cores spinning/idling while waiting for the low cores to catch up and complete their tasks.
  • I'm looking forward to see how Activity Monitor displays the M1's resource use for applications.
  • Will there be a system preference pane that allows user to assign specific applications to the low and high performing cores ?
  • Will the /Applications/Xcode.app/Contents/Applications/Instruments.app provide insights as to what system resources an Application is using ? Example... see attached image for the Instruments.app
  • Also... Can one or more of the low and high cores be disabled on the fly ?

Thanks for any insights. :)
 

Attachments

  • Screen Shot 2020-11-15 at 11.08.01 AM.png
    Screen Shot 2020-11-15 at 11.08.01 AM.png
    192.6 KB · Views: 112
Well, here's a brief overview:

Long story short... as a developer, I can define which workload in my app will only need the efficient cores, and which will need the high-performing ones. Most of this is up to the OS. Specifically assigning threads to cores is... in general bad practice. That should be left up to the OS for maximum efficiency... because my app is not the only thing that's trying to take up system resources.
 
  • Like
Reactions: ItWasNotMe and bxs
Well, here's a brief overview:

Long story short... as a developer, I can define which workload in my app will only need the efficient cores, and which will need the high-performing ones. Most of this is up to the OS. Specifically assigning threads to cores is... in general bad practice. That should be left up to the OS for maximum efficiency... because my app is not the only thing that's trying to take up system resources.
Thanks for that ref. :) 👍
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.