5 Replies
      Latest reply on May 29, 2019 7:39 AM by eskimo
      fish1102 Level 1 Level 1 (0 points)

        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?

        • Re: Which two core is the "big" cores in A12 Bionic chip
          eskimo Apple Staff Apple Staff (11,365 points)

          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"

            • Re: Which two core is the "big" cores in A12 Bionic chip
              fish1102 Level 1 Level 1 (0 points)

              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!

                • Re: Which two core is the "big" cores in A12 Bionic chip
                  eskimo Apple Staff Apple Staff (11,365 points)

                  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"

                    • Re: Which two core is the "big" cores in A12 Bionic chip
                      fish1102 Level 1 Level 1 (0 points)

                      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.

                        • Re: Which two core is the "big" cores in A12 Bionic chip
                          eskimo Apple Staff Apple Staff (11,365 points)

                          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"