isn't that an interesting contradiction?

By: Maynard Handley (name99.delete@this.name99.org), January 8, 2021 5:34 pm
Room: Moderated Discussions
Maynard Handley (name99.delete@this.name99.org) on January 8, 2021 4:34 pm wrote:
> Maynard Handley (name99.delete@this.name99.org) on January 8, 2021 3:59 pm wrote:
> > Adrian (a.delete@this.acm.org) on January 8, 2021 2:21 pm wrote:
> > > hobold (hobold.delete@this.vectorizer.org) on January 8, 2021 12:44 pm wrote:
> > > > Adrian (a.delete@this.acm.org) on January 2, 2021 2:45 am wrote:
> > > >
> > > > [...]
> > > > > In computational benchmarks where the number and speed of the available execution resources matter
> > > > > most, unlike in GB5 or SPEC, where the higher *average* IPC of Apple shines, the advantage of Zen
> > > > > 3 over Apple M1 increases, being e.g. of over 14% @ 4.9 GHz for gmpbench (7337 vs. 6422).
> > > >
> > > > That's an interesting contradiction. Apple M1 does have
> > > > fewer and slower execution resources, but higher IPC.
> > > >
> > > > Pure speculation: Apple M1 can sometimes (rarely) execute a pair of dependent, simple
> > > > instructions within one single clock cycle. This would occasionally (rarely) gain one
> > > > cycle on the other processors that require two subsequent cycles for the dependency.
> > > >
> > > > Naturally this would be a very narrow, very targeted optimization. But there just might
> > > > be pairs that are frequent enough to be worth it. Maybe something like shift (by a constant)
> > > > and add. Generally, a chain of two-operand instructions, such that the whole chain does
> > > > not read / write more registers than what can be done in a single cycle.
> > >
> > >
> > > We do not know whether Apple M1 has fewer execution resources, it seems to have about the same
> > > resources as Intel, but maybe less than the new Zen 3 has for certain AVX instructions.
> > >
> > > However, the M1 resources are necessarily slower, due to 3.2 GHz vs. 4.8 ... 5.0 GHz.
> > >
> > > In the case of gmpbench, a non-negligible part of the execution time is spent
> > > doing one 64-bit multiplication per clock cycle in both AMD Zen 3 and Apple
> > > M1, with a few other instructions overlapped with the multiplications.
> > >
> > > Even if M1 has the potential of overlapping more instructions than Zen, it does not matter for that part
> > > of the execution time, because its duration is determined by the back-to-back multiplications, so on
> > > Zen 3 it takes just 2/3 of the time on M1. For that part of the benchmark, both M1 and Zen 3 have the
> > > same IPC, which cannot be increased when an execution resource is used at 100% of its capacity.
> > >
> > > On other parts of the benchmark, M1 succeeds to overlap more instructions than Zen 3, i.e. it
> > > has a higher IPC, so Zen 3 has a lower advantage than the clock frequency ratio, but still better
> > > than in benchmarks where M1 can maintain a higher IPC during the entire benchmark.
> > >
> > > For operations like DGEMM, which can be executed at as speed close to the floating-point
> > > fused-multiply-add maximum rate, I expect to see the same behavior, with higher advantage
> > > for Zen 3 than in SPEC or GB5, where M1 has an IPC 1.5 times almost all the time. However,
> > > unlike for gmpbench, I have not seen yet an Apple M1 DGEMM (or Linpack) result.
> >
> > Here's pretty much the only thing I've found so far:
> >
> > https://nod.ai/comparing-apple-m1-with-amx2-m1-with-neon/
> >
> > There's a bunch of back and forth about what NEON can achieve, but I think the
> > bottom line is essentially ~250GFLOPS (FP32 NEON) and twice that via AMX.
> >
> > Do we have any sort of sense as to how much GMP has had care and optimization put into it for ARMv8/NEON
> > vs x86? It is still at the basic "get the damn thing working"
> > level, or has the sort of obsessive micro-optimization
> > one (eventually) expects in these sorts of libraries already been applied?
> > You can see some of the flux that's still happening in this space in the above
> > article, even with respect to a somewhat more mainstream library like BLAS.
> >
> >
> > There are similar (matrix multiplication dense) results here:
> > https://towardsdatascience.com/benchmark-m1-vs-xeon-vs-core-i5-vs-k80-and-t4-e3802f27421c
> > and
> > https://ramseyelbasheer.wordpress.com/2021/01/03/benchmark-m1-part-2-vs-20-cores-xeon-vs-amd-epyc-16-and-32-cores/
> >
> > Of course in a sense these are the opposite extreme, going from dependent
> > very long multiplies to independent short multiplies.
> >
>
> This article covers a range of scientific software from the viewpoint of a practitioner who
> just wants things to work. Summary is that a surprising amount of stuff has already been ported,
> what's left is mostly in progress, results are almost always remarkably impressive.
> There are, if you scroll to the very end, SGEMM/DGEMM results for very large matrices,
> with M1 doing somewhat better than an AMD3900X (which is, I think 12 core).

< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Ryzen 9 5000 series processor Phil9955112020/12/29 06:12 AM
  Ryzen 9 5000 series processor Adrian2020/12/29 08:31 AM
    Ryzen 9 5000 series processor Dummond D. Slow2020/12/29 11:33 AM
      Ryzen 9 5000 series processor Phil9955112020/12/29 05:09 PM
        Ryzen 9 5000 series processor Dummond D. Slow2020/12/29 07:00 PM
          Ryzen 9 5000 series processor anon2020/12/30 03:50 AM
          Ryzen 9 5000 series processor Foo_2020/12/30 03:50 AM
            Ryzen 9 5000 series processor Phil9955112020/12/30 06:22 AM
              Ryzen 9 5000 series processor Phil9955112020/12/30 06:25 AM
              Ryzen 9 5000 series processor Adrian2020/12/30 07:00 AM
            Ryzen 9 5000 series processor Linus Torvalds2020/12/30 01:00 PM
              Ryzen 9 5000 series processor Phil9955112020/12/31 07:45 AM
                Ryzen 9 5000 series processor Adrian2020/12/31 10:49 AM
                Ryzen 9 5000 series processor Linus Torvalds2020/12/31 01:05 PM
                  Ryzen 9 5000 series processor me2020/12/31 05:56 PM
                    Ryzen 9 5000 series processor Anon2020/12/31 06:48 PM
                      Ryzen 9 5000 series processor me2021/01/01 05:06 AM
                    Ryzen 9 5000 series processor Gabriele Svelto2021/01/01 08:10 AM
                      Ryzen 9 5000 series processor David Hess2021/01/01 08:37 AM
                        Ryzen 9 5000 series processor Jukka Larja2021/01/01 11:52 AM
                          Ryzen 9 5000 series processor Linus Torvalds2021/01/01 01:48 PM
                            Ryzen 9 5000 series processor Jukka Larja2021/01/01 11:28 PM
                              Ryzen 9 5000 series processor Linus Torvalds2021/01/02 01:21 PM
                                Ryzen 9 5000 series processor Adrian2021/01/02 02:17 PM
                                Ryzen 9 5000 series processor Anon2021/01/02 07:08 PM
                                Ryzen 9 5000 series processor Jukka Larja2021/01/03 12:10 AM
                                  Ryzen 9 5000 series processor David Hess2021/01/03 02:03 AM
                                    Ryzen 9 5000 series processor Jukka Larja2021/01/03 04:28 AM
                                  Threadrippers do have official ECC supportJukka Larja2021/01/03 09:32 PM
                                    Threadrippers do have official ECC supportBjörn Ragnar Björnsson2021/01/04 09:21 AM
                                ECC (or lack of)Tim McCaffrey2021/01/03 10:28 AM
                                  ECC (or lack of)Adrian2021/01/03 02:14 PM
                                    ECC (or lack of)Yuhong Bao2021/01/03 02:51 PM
                                      ECC (or lack of)Yuhong Bao2021/01/04 07:54 PM
                                        ECC (or lack of)Yuhong Bao2021/01/04 08:04 PM
                                AMD ECC not enabled but says it isIan Cutress2021/01/03 12:09 PM
                                  AMD ECC not enabled but says it isMaxwell2021/01/03 01:28 PM
                                  AMD ECC not enabled but says it isAdrian2021/01/03 01:50 PM
                                    AMD ECC not enabled but says it isGabriele Svelto2021/01/03 02:08 PM
                                      AMD ECC not enabled but says it isAdrian2021/01/03 02:34 PM
                                        AMD ECC not enabled but says it isDan Strother2021/01/03 08:00 PM
                                          AMD ECC not enabled but says it isMatt2021/01/04 01:29 AM
                                          AMD ECC not enabled but says it isGabriele Svelto2021/01/04 02:29 AM
                                            AMD ECC not enabled but says it isMatt2021/01/04 01:39 PM
                                          AMD ECC not enabled but says it isAdrian2021/01/04 06:49 AM
                                Ryzen 9 5000 series processor Jason Snyder2021/01/04 02:44 PM
                                  Ryzen 9 5000 series processor Brett2021/01/04 06:08 PM
                                  Ryzen 9 5000 series processor Linus Torvalds2021/01/05 01:29 PM
                                    Ryzen 9 5000 series processor Adrian2021/01/05 02:08 PM
                                    Ryzen 9 5000 series processor Emil Briggs2021/01/05 05:40 PM
                                      Ryzen 9 5000 series processor Gabriele Svelto2021/01/06 02:12 AM
                                    Ryzen 9 5000 series processor [ECC summary - Suitable for framing]Björn Ragnar Björnsson2021/01/05 07:29 PM
                                    Ryzen 9 5000 series processor 2021/01/06 10:45 AM
                                      Ryzen 9 5000 series processor Linus Torvalds2021/01/06 12:38 PM
                                        Ryzen 9 5000 series processor Emanuel Rylke2021/01/07 01:49 AM
                                          Ryzen 9 5000 series processor Jörn Engel2021/01/07 10:05 AM
                                            Read Only Page CorrectionsTerry Gray2021/01/07 10:47 AM
                                              Read Only Page Correctionsrwessel2021/01/07 12:00 PM
                                                Read Only Page CorrectionsTerry Gray2021/01/07 12:58 PM
                                              Read Only Page CorrectionsDavid Hess2021/01/10 08:37 PM
                                              Read Only Page Correctionsdmcq2021/01/11 04:32 AM
                                        Ryzen 9 5000 series processor Chester2021/01/07 06:00 AM
                                          Ryzen 9 5000 series processor Gabriele Svelto2021/01/07 06:33 AM
                                            Ryzen 9 5000 series processor Michael S2021/01/07 09:05 AM
                                              Ryzen 9 5000 series processor Linus Torvalds2021/01/07 11:26 AM
                                            Ryzen 9 5000 series processor rwessel2021/01/07 10:06 AM
                                          Ryzen 9 5000 series processor Linus Torvalds2021/01/07 11:04 AM
                                            Ryzen 9 5000 series processor Chester2021/01/07 05:19 PM
                                              OT L1 chache ECCMichael S2021/01/08 03:31 AM
                                                OT L1 chache ECCAdrian2021/01/08 09:54 AM
                                                  OT L1 chache ECCDavid Kanter2021/01/08 10:13 AM
                                                    Structure ProtectionsChester2021/01/08 03:14 PM
                                            Ryzen 9 5000 series processor Etienne Lorrain2021/01/08 02:18 AM
                                          Ryzen 9 5000 series processor Björn Ragnar Björnsson2021/01/07 06:42 PM
                                            Ryzen 9 5000 series processor Chester2021/01/07 09:14 PM
                                              Ryzen 9 5000 series processor Björn Ragnar Björnsson2021/01/07 09:26 PM
                                                Ryzen 9 5000 series processor Michael S2021/01/08 03:49 AM
                                    Ryzen 9 5000 series processor Jason Snyder2021/01/14 08:32 AM
                                      Ryzen 9 5000 series processor Gabriele Svelto2021/01/15 06:26 AM
                                        Ryzen 9 5000 series processor Jason Snyder2021/01/16 11:45 AM
                                          Ryzen 9 5000 series processor Jason Snyder2021/01/16 01:27 PM
                              Ryzen 9 5000 series processor Etienne Lorrain2021/01/07 02:21 AM
                                Ryzen 9 5000 series processor anon2021/01/07 03:21 AM
                                  Ryzen 9 5000 series processor Etienne Lorrain2021/01/07 04:22 AM
                                    Ryzen 9 5000 series processor Konrad Schwarz2021/01/07 06:27 AM
                                  Ryzen 9 5000 series processor Adrian2021/01/07 05:22 AM
                                  Ryzen 9 5000 series processor rwessel2021/01/07 10:25 AM
                                    Ryzen 9 5000 series processor Jörn Engel2021/01/07 05:29 PM
                                      Ryzen 9 5000 series processor rwessel2021/01/07 07:47 PM
                                        Ryzen 9 5000 series processor David Hess2021/01/11 05:26 AM
                                          Ryzen 9 5000 series processor Adrian2021/01/11 06:25 AM
                                          Ryzen 9 5000 series processor rwessel2021/01/11 08:24 AM
                                      Ryzen 9 5000 series processor Mark Roulo2021/01/07 08:00 PM
                                        Ryzen 9 5000 series processor Björn Ragnar Björnsson2021/01/07 08:20 PM
                                  Ryzen 9 5000 series processor David Hess2021/01/11 05:16 AM
                      Ryzen 9 5000 series processor Jukka Larja2021/01/01 11:43 AM
                        Ryzen 9 5000 series processor David Hess2021/01/01 01:31 PM
                          Ryzen 9 5000 series processor Dan Strother2021/01/01 02:12 PM
                        Ryzen 9 5000 series processor Adrian2021/01/01 02:28 PM
                          Ryzen 9 5000 series processor vs. M1Adrian2021/01/02 03:45 AM
                            Ryzen 9 5000 series processor vs. M1Dummond D. Slow2021/01/02 01:50 PM
                              Ryzen 9 5000 series processor vs. M1Adrian2021/01/02 03:00 PM
                                Ryzen 9 5000 series processor vs. M1Dummond D. Slow2021/01/04 01:11 PM
                            Ryzen 9 5000 series processor vs. M1Dummond D. Slow2021/01/07 11:43 AM
                              Ryzen 9 5000 series processor vs. M1Adrian2021/01/08 09:28 AM
                                Ryzen 9 5000 series processor vs. M1 Sorry, typo, correction hereAdrian2021/01/08 09:31 AM
                                  Ryzen 9 5000 series processor vs. M1 (vs. Rocket Lake)Dummond D. Slow2021/01/22 08:02 AM
                            isn't that an interesting contradiction?hobold2021/01/08 01:44 PM
                              isn't that an interesting contradiction?Maynard Handley2021/01/08 02:27 PM
                              isn't that an interesting contradiction?Adrian2021/01/08 03:21 PM
                                isn't that an interesting contradiction?Maynard Handley2021/01/08 04:59 PM
                                  isn't that an interesting contradiction?Maynard Handley2021/01/08 05:34 PM
                                    isn't that an interesting contradiction?Maynard Handley2021/01/08 05:34 PM
                                    isn't that an interesting contradiction?Maynard Handley2021/01/08 05:35 PM
                                      isn't that an interesting contradiction?Adrian2021/01/09 01:55 AM
                                  isn't that an interesting contradiction?Adrian2021/01/09 01:48 AM
                                    isn't that an interesting contradiction? - gmpAdrian2021/01/09 09:00 AM
                                      isn't that an interesting contradiction? - gmpnone2021/01/11 02:26 AM
                                        isn't that an interesting contradiction? - gmpAdrian2021/01/11 05:34 AM
                                          Fully agree with you, I was just giving some data :-) (NT)none2021/01/11 06:17 AM
                                          isn't that an interesting contradiction? - gmpanon2021/01/11 01:09 PM
                                            isn't that an interesting contradiction? - gmpAdrian2021/01/12 01:54 AM
                                              isn't that an interesting contradiction? - gmpnone2021/01/12 02:15 AM
                                                isn't that an interesting contradiction? - gmpAdrian2021/01/12 04:37 AM
                                                  isn't that an interesting contradiction? - gmpnone2021/01/12 04:53 AM
                                                    uses of int multiplyhobold2021/01/12 03:51 PM
                                                      uses of int multiplynone2021/01/13 02:11 AM
                                                      uses of int multiplyJörn Engel2021/01/13 01:06 PM
                                                  isn't that an interesting contradiction? - gmpWilco2021/01/12 05:17 AM
                                                    isn't that an interesting contradiction? - gmpAdrian2021/01/12 06:07 AM
                        Ryzen 9 5000 series processor Gabriele Svelto2021/01/01 04:31 PM
                          Ryzen 9 5000 series processor Jukka Larja2021/01/01 10:58 PM
                            Ryzen 9 5000 series processor Gabriele Svelto2021/01/02 06:51 AM
                              Ryzen 9 5000 series processor Jukka Larja2021/01/02 08:57 AM
                                Ryzen 9 5000 series processor me2021/01/02 05:30 PM
                                  Ryzen 9 5000 series processor Jukka Larja2021/01/02 11:43 PM
                        Ryzen 9 5000 series processor Björn Ragnar Björnsson2021/01/01 09:41 PM
                          Ryzen 9 5000 series processor Jukka Larja2021/01/01 10:53 PM
                            Ryzen 9 5000 series processor Adrian2021/01/02 02:03 AM
                              Ryzen 9 5000 series processor Jukka Larja2021/01/02 08:39 AM
                          Ryzen 9 5000 series processor Adrian2021/01/02 01:52 AM
                          Ryzen 9 5000 series processor me2021/01/02 06:56 AM
                            Ryzen 9 5000 series processor Michael S2021/01/02 12:41 PM
                              Ryzen 9 5000 series processor Adrian2021/01/02 01:43 PM
                              Ryzen 9 5000 series processor Jukka Larja2021/01/02 11:50 PM
                          Crucial/Micron ECC UDIMMsGabriele Svelto2021/01/02 07:09 AM
                            Crucial/Micron ECC UDIMMsMaxwell2021/01/02 10:45 AM
                              Crucial/Micron ECC UDIMMsYuhong Bao2021/01/02 07:29 PM
                  Ryzen 9 5000 series processor Phil9955112021/01/03 08:46 AM
  Ryzen 9 5000 series processor H_Heckuba2021/01/03 01:06 PM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell avocado?