Which two core is the "big" cores in A12 Bionic chip

Which two core is the "big" cores in A12 Bionic chip



Hello, I saw the following contents is Apple's official website. https://www.apple.com/lae/iphone-xs/a12-bionic/

"Two performance cores tackle heavy computational tasks. And four efficiency cores take on everyday tasks. "





So I want to make sure that:

1. How could we detect which cores is in the "Two performance cores"? 0-1 or 4-5?

2. Could we detect which core a thread is running, by c++ or Objective-C or other code?

Replies

So I want to make sure that:

What are you going to do with this information?

In general, Apple platforms don’t provide APIs for low-level features like this because there’s precious little you can do with them without risking compatibility problems further down the pike. If you can explain more about your goals, there may be a way to achieve them without building hardware dependencies into your product.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Hi, eskimo,

Thanks for your reply.

The first goal for us to make sure which cores is big ones is that, we what to check the threads whether running on big/little cores in Instruments, with Game Performance Template. We always found that one of our main threads running on CPU 5. We want to make sure whether it's the big core we want.

The second goal is that, if there exists some APIs through which we could get the informations, we could add this into the Profile Tools ourself's.

Thanks a lot!

It seems that your focus is on debugging tools, which is one of the few situations where it’s important to get at this information, at least IMO (-:

On the Instruments front, I think that Instruments should itself be surfacing this info. I recommend that you file an enhancement request for that. Please post your bug number, just for the record.

On the API front, you wrote:

we could add this into the Profile Tools ourself's

What is “Profile Tools”?

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

The number is 51176401.



What is “Profile Tools”?


It means the custom profile tools write by our company.

If we could get the which core the threads are running on, we could get some issues during app running, and send the issues to our server for analyzing, without profiling in Instuments.

The number is 51176401.

Thanks for that.

If we could get the which core the threads are running on …

Is this a time-based profiler? That is, one where you periodically pause the thread and look at its PC (and possibly backtrace) to see where it’s at? If so, there isn’t a good answer to your question because a thread can bounce between cores.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"