Is SVE really Apple's future?

By: --- (---.delete@this.redheron.com), July 9, 2022 3:07 pm
Room: Moderated Discussions
Here's a crazy idea, if that sort of thing appeals to you...

Suppose you want to execute "vector" type code as aggressively as possible.

One way to do this is via packed SIMD. The disadvantages are that you're limited to a fixed register length (though that can be worked around to some extent if you start wide but implement narrow...) and so you do the MMX to AVX to AVX256 to AVX512 business.

A second option is SVE. That gives you a little more future growth flexibility (though ARM has probably taken the flexibility way beyond what makes any sense) and some degree of simplification of head+tail loop cleanup, even beyond the predicates provided by AVX512.

But there is a third option, as described in POWER's recent Scalable Vector proposal
https://libre-soc.org/openpower/sv/
which you could argue is in the spirit of "modern" micro-architecture (ie screw concepts like RISC vs CISC, what matters is optimal conveyance of the *goal* from the compiler to the CPU, with throwing large amounts of transistors at the problem not really an issue). Thus, to simplify dramatically, SVP64 rather than adding thousands of new instructions ala AVX512 or SVE adds just a few instructions (and a few more registers) that carefully describe certain types of loops, with the idea being that the CPU will translate the *entire loop* into some sort of optimal execution (which could be very wide, if you want to add eg 512 bits worth of ALU as your execution unit).

Now why is this interesting? Well firstly, in a certain sense, it's even more scalable than SVE *and* plays well to a company whose skill in is the micro-architecture.
But even more so, it looks very similar to a design from about fifteen years ago (evolved over quite a few years) by Jeff Gonion at Apple! The design is spread over many patents, but a representative one is
https://patents.google.com/patent/US8412914B2
(Note that the last patent I can find in the series is 2015, so Gonion works on this, apparently, to tell from the patents, as his entire focus, and Apple is happy to support him doing so, for at least 7 years.
Did they just abandon the idea, or subsume it all into SVE?)


So here's a crazy idea: Apple's equivalent of ARMv9 will be essentially a macroscalar or SVP64 type processor!?!
Apple can add just a few instructions and registers (possibly not even public at first, like AMX) to define the HW loops, and can internally implement SVE in terms of this underlying mechanism.
If we believe this (big if!) it will explain why they've not especially cared about being first with SVE – my guess is they will support it out of convenience, but their real endgame, the way they will stay ahead of ARM even once ARMv9 and SVE become standard everywhere, is by having the additional flexibility inherent in this sort of design. (Flexibility both to grow wider with subsequent cores, but also to "vectorize" even more loops(?), at lower power(?), than SVE and its flexible vector lengths+predicates.

Well, just a few months till the A16 when more is, hopefully, revealed. At which point I'll look like either a visionary or a fool! (Though of course I can always claim there's really a sekrit macroscalar engine inside the CPU handling some of the SVE sequencing and, just you wait, next year or the year after that, it will become visible...)
 Next Post in Thread >
TopicPosted ByDate
Is SVE really Apple's future?---2022/07/09 03:07 PM
  Is SVE really Apple's future?Ben T2022/07/09 07:45 PM
    Is SVE really Apple's future?Mark Roulo2022/07/09 08:21 PM
      Is SVE really Apple's future?Ben T2022/07/09 11:03 PM
        Is SVE really Apple's future?---2022/07/10 10:46 AM
          M1 Max Die PhotoBen T2022/07/11 04:59 AM
            M1 Max Die PhotoBrett2022/07/11 12:51 PM
              M1 Max Die PhotoDoug S2022/07/11 12:55 PM
                M1 Max Die PhotoUngo2022/07/11 10:34 PM
                  M1 Max Die PhotoBrett2022/07/12 06:50 PM
                    M1 Max Die PhotoBrett2022/07/14 10:35 AM
                      Apple ServersBen T2022/07/14 12:25 PM
                        Apple has done servers: XServeMark Roulo2022/07/14 03:47 PM
                          Apple has done servers: XServeanon22022/07/14 03:53 PM
                          Apple has done servers: XServe---2022/07/15 09:37 AM
                            iCloud Compute ServiceBen T2022/07/15 11:04 AM
                              iCloud Compute Service---2022/07/15 12:31 PM
                                iCloud Compute ServiceBen T2022/07/15 02:25 PM
                                iCloud Compute ServiceBrett2022/07/15 04:12 PM
                                  iCloud Compute ServiceBen T2022/07/15 05:52 PM
                                    iCloud Compute ServiceBrett2022/07/15 11:14 PM
                                      iCloud Compute ServiceBen T2022/07/16 02:42 AM
                                        iCloud Compute Service---2022/07/16 09:30 AM
                                      iCloud Compute Service---2022/07/16 09:29 AM
                                      iCloud Compute ServiceDoug S2022/07/16 10:16 AM
                                        iCloud Compute ServiceBen T2022/07/16 01:49 PM
                                        iCloud Compute Service---2022/07/16 02:55 PM
                                          iCloud Compute Serviceanonymou52022/07/16 03:42 PM
                            illegal bundling of Mac Pro and cloud computing servicesGhost of John Sherman2022/07/15 04:20 PM
                              illegal bundling of Mac Pro and cloud computing servicesDoug S2022/07/15 08:37 PM
                                illegal bundling of Mac Pro and cloud computing servicesGhost of John Sherman2022/07/16 12:48 AM
                                  illegal bundling of Mac Pro and cloud computing servicesDoug S2022/07/16 10:13 AM
                                    illegal bundling of Mac Pro and cloud computing servicesGhost of John Sherman2022/07/16 11:03 AM
                                      illegal bundling of Mac Pro and cloud computing servicesDoug S2022/07/16 08:07 PM
                      M1 Max Die PhotoDoug S2022/07/14 01:12 PM
                      M1 Max Die Photoanon22022/07/14 03:58 PM
                      M1 Max Die PhotoAdrian2022/07/14 11:38 PM
                        Sorry, typoAdrian2022/07/14 11:42 PM
                        M1 Max Die PhotoBrett2022/07/15 10:50 AM
          Is SVE really Apple's future?Kara2022/07/12 05:40 PM
            Is SVE really Apple's future?Adrian2022/07/12 11:24 PM
    Is SVE really Apple's future?Brendan2022/07/09 08:33 PM
      Is SVE really Apple's future?Ben T2022/07/09 09:48 PM
        Is SVE really Apple's future?Ungo2022/07/09 11:20 PM
          Is SVE really Apple's future?Mark Roulo2022/07/10 08:09 AM
            Is SVE really Apple's future?Simon Farnsworth2022/07/11 04:30 AM
              Is SVE really Apple's future?Brett2022/07/11 12:48 PM
                Caches on Apple SiliconBen T2022/07/11 02:40 PM
                  Caches on Apple Silicon---2022/07/11 07:16 PM
                    Memory side cacheBen T2022/07/16 04:23 AM
                      Memory side cache---2022/07/16 09:24 AM
                  Caches on Apple SiliconSimon Farnsworth2022/07/12 03:04 AM
                    Offloading a task to GPUBen T2022/07/12 04:31 AM
                      Offloading a task to GPUSimon Farnsworth2022/07/12 05:57 AM
                        Offloading a task to GPUBen T2022/07/13 12:14 AM
                          Offloading a task to GPUSimon Farnsworth2022/07/13 04:50 AM
                            Offloading a task to GPUBen T2022/07/13 06:14 AM
          Accelerate library using GPUBen T2022/07/11 03:07 PM
            Accelerate library using GPUUngo2022/07/12 02:52 PM
              Accelerate library using GPUBen T2022/07/12 04:42 PM
        Is SVE really Apple's future?Kara2022/07/12 05:50 PM
          Is SVE really Apple's future?Doug S2022/07/12 09:33 PM
            Is SVE really Apple's future?Kara2022/07/12 10:53 PM
              Is SVE really Apple's future?Ungo2022/07/13 04:36 AM
                Is SVE really Apple's future?James2022/07/13 08:23 AM
                  Is SVE really Apple's future?Ungo2022/07/13 11:55 AM
        Is SVE really Apple's future?Kara2022/07/12 06:01 PM
          what am I saying!(startup, hiring, do email me if interested)Kara2022/07/12 07:01 PM
            what am I saying!(startup, hiring, do email me if interested)Adrian2022/07/13 12:26 AM
              what am I saying!(startup, hiring, do email me if interested)Ben T2022/07/13 01:25 AM
                what am I saying!(startup, hiring, do email me if interested)Adrian2022/07/13 02:27 AM
            what am I saying!(startup, hiring, do email me if interested)ananon2022/07/14 01:33 AM
              what am I saying!(startup, hiring, do email me if interested)Ben T2022/07/14 02:15 AM
              what am I saying!(startup, hiring, do email me if interested)Kara2022/07/15 07:40 AM
              what am I saying!(startup, hiring, do email me if interested)Kara2022/07/15 11:55 AM
      Apple FP throughtput Eric Fink2022/07/10 01:17 AM
        FP64 Matrix Multiply Performance of M1 UltraBen T2022/07/10 04:31 AM
          FP64 Matrix Multiply Performance of M1 UltraAdrian2022/07/10 07:12 AM
            FP64 Matrix Multiply Performance of M1 UltraDoug S2022/07/10 10:46 AM
            FP64 Matrix Multiply Performance of M1 Ultra---2022/07/10 11:06 AM
              FP64 Matrix Multiply Performance of M1 UltraAdrian2022/07/10 10:20 PM
              Mathematica on Apple SiliconBen T2022/07/11 05:15 AM
            Mac Pro vs Sapphire Rapids-HBMBen T2022/07/11 04:34 AM
              Mac Pro vs Sapphire Rapids-HBMAdrian2022/07/11 05:37 AM
                Mac Pro vs Sapphire Rapids-HBMFreddie2022/07/11 06:14 AM
                Mac Pro vs Sapphire Rapids-HBMBen T2022/07/11 06:22 AM
          FP64 Matrix Multiply Performance of M1 UltraEric Fink2022/07/10 08:01 AM
            Neon + AMX FP64 Performance on M1 UltraBen T2022/07/11 03:48 AM
          Right tool for the jobMark Roulo2022/07/10 10:26 AM
            Right tool for the jobEric Fink2022/07/10 11:02 PM
              Right tool for the jobAdrian2022/07/10 11:09 PM
            Mac Pro vs Sapphire RapidsBen T2022/07/11 06:00 AM
    Is SVE really Apple's future?---2022/07/10 10:41 AM
      Is SVE really Apple's future?Greg2022/07/11 07:00 PM
        Is SVE really Apple's future?Doug S2022/07/11 07:09 PM
        Is SVE really Apple's future?---2022/07/11 07:34 PM
          Implementing Accelerate with Neon on Efficiency CoresGreg2022/07/11 11:58 PM
            Implementing Accelerate with Neon on Efficiency CoresJörn Engel2022/07/12 09:04 AM
    EPIC/VLIW Kara2022/07/12 03:49 PM
      EPIC/VLIW Ben T2022/07/12 05:34 PM
        EPIC/VLIW Kara2022/07/12 06:12 PM
          EPIC/VLIW Ben T2022/07/12 06:39 PM
  Is SVE really Apple's future?MacroscalarFan2022/07/09 08:48 PM
    Is SVE really Apple's future?---2022/07/10 11:13 AM
      Is SVE really Apple's future?Rayla2022/07/10 06:55 PM
  Is SVE really Apple's future?Doug S2022/07/09 11:54 PM
  Is SVE really Apple's future?2022/07/11 01:12 AM
  SVEBen T2022/07/11 02:52 PM
    SVE---2022/07/11 07:20 PM
      SVEJan Wassenberg2022/07/11 09:39 PM
        SVE-.-2022/07/12 04:24 AM
          SVEJan Wassenberg2022/07/12 11:07 AM
            SVE-.-2022/07/14 03:08 AM
      Size of SVE vectorsBen T2022/07/11 11:12 PM
        Size of SVE vectorsMichael S2022/07/12 06:14 AM
          Size of SVE vectorsBen T2022/07/12 04:47 PM
            Size of SVE vectorsMichael S2022/07/13 03:10 AM
              Size of SVE vectorsJan Wassenberg2022/07/13 09:35 PM
            Size of SVE vectorsNone2022/07/13 05:16 AM
              Reason for maximum vector sizeBen T2022/07/13 06:31 PM
                Reason for maximum vector sizeNone2022/07/13 10:47 PM
                  Reason for maximum vector sizeEric Fink2022/07/14 01:01 AM
                  x86 matrix and vector instructionsBen T2022/07/14 02:01 AM
                    x86 matrix and vector instructionsAdrian2022/07/14 03:28 AM
                Reason for maximum vector sizeEric Fink2022/07/14 12:56 AM
                  Reason for maximum vector sizeSimon Farnsworth2022/07/14 01:21 AM
                    Reason for maximum vector size2022/07/15 12:56 AM
                  Reason for maximum vector sizedmcq2022/07/14 03:10 PM
                  Reason for maximum vector sizeJan Wassenberg2022/07/18 10:41 AM
                    Reason for maximum vector sizehobold2022/07/19 12:01 AM
                      Reason for maximum vector sizeJan Wassenberg2022/07/19 10:44 AM
                    Reason for maximum vector sizeEric Fink2022/07/19 03:38 AM
                      Reason for maximum vector sizeJan Wassenberg2022/07/19 10:43 AM
                        Reason for maximum vector sizedmcq2022/07/20 04:41 AM
        Size of SVE vectorsSimon Farnsworth2022/07/12 07:31 AM
          Size of SVE vectorsBen T2022/07/12 04:51 PM
            Size of SVE vectorsAdrian2022/07/12 11:41 PM
              Size of SVE vectorsBen T2022/07/13 01:07 AM
                Size of SVE vectorsAdrian2022/07/13 04:15 AM
                  Size of SVE vectorsAdrian2022/07/13 04:49 AM
                  Powering down part of vector unitsBen T2022/07/13 06:49 PM
                    Powering down part of vector units---2022/07/13 08:11 PM
                      Powering down part of vector unitsBen T2022/07/13 11:32 PM
                    Powering down part of vector unitsJan Wassenberg2022/07/13 09:48 PM
                      Powering down part of vector unitsAdrian2022/07/13 11:31 PM
                    Powering down part of vector unitsanon22022/07/13 09:54 PM
                  Size of SVE vectors-.-2022/07/14 03:02 AM
                Size of SVE vectorsSimon Farnsworth2022/07/13 04:40 AM
        Size of SVE vectorsJan Wassenberg2022/07/12 11:09 AM
          Size of SVE vectorsBen T2022/07/12 05:18 PM
            Size of SVE vectorsJames2022/07/13 01:21 AM
          PR_SVE_SET_VL argument to Linux function prctlBen T2022/07/13 06:22 PM
            PR_SVE_SET_VL argument to Linux function prctlSimon Farnsworth2022/07/14 12:05 AM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell tangerine? 🍊