Auto-vectorization of random C is a dead end

Article: Knights Landing Details
By: Mark Roulo (nothanks.delete@this.xxx.com), August 1, 2018 11:07 am
Room: Moderated Discussions
Michael S (already5chosen.delete@this.yahoo.com) on August 1, 2018 3:48 am wrote:
> SoftwareEngineer (soft.delete@this.ware.com) on August 1, 2018 2:15 am wrote:
> > Adrian (a.delete@this.acm.org) on July 31, 2018 9:24 pm wrote:
> > > I believe that maybe the failure of Xeon Phi was caused by its design
> > > by a B team and by the rush to market of an immature implementation.
> > >
> > >
> >
> > Speaking as a software engineer, the hardware was not the
> > main problem. The problem was the programming model.
> >
> > I attended an early Xeon Phi sales seminar, and it quickly became clear that the main way that Intel
> > expected you to make use of the FLOPs was through auto-vectorization of existing C++. Which sounds
> > like a nice promise (just use our special compiler, and it will unlock all that performance for you!)...
> > but the reality is a bit different. Massaging your code into something that will actually auto-vectorize
> > cleanly is not trivial. It takes conscious effort, and awareness of all the subtle limitations of
> > your compiler. Use the wrong code pattern in one location and poof, there goes 3/4 of your performance.
> > You can't just write clean and natural C++, because that won't vectorize.
> >
> > And the worst part? It's a constant battle. You need to keep your entire team
> > informed, because it just takes one rushed commit to shaft the whole thing.
> >
> > It's all a horribly fragile hack on top of a language which was never built to support vectorization.
> > You just don't get these sorts of problems working in CUDA. Intel's ispc seemed promising, but it
> > never felt like it had official blessing, and it didn't have a very well developed tool chain. It
> > always felt like it might get abandoned at a moment's notice if the wrong guy left/was fired.
>
> Thanks for insight.
> I like it, because it matches my suspicions ;-)
> I always thought that auto-vectorization/auto-parallelization of C/C++ is a
> snake oil and that "serial" subset of Fortran is only marginally better.

Part of the "problem" for arbitrary high performance code is that you often want to do two things at once to get really good performance:
    a) Vectorize
    b) Optimize memory accesses (for good cache locality)

If you don't do (b), then you can easily become memory bound and it won't matter too much how good a job you do with your vectorization because you can't feed the vector units.

And writing a compiler to handle (b) in the general case for C/C++ is impossible because too much unnecessary detail gets specified by the programmer.

You CAN do (b) manually, but then the code starts getting very ugly and the true underlying algorithm gets buried in the loop fusion/unrolling/etc that you need to do to get the good performance. And then you may need to manually vectorize on top of that (depends on the code).

So ... what we *CAN* do is to specify a sub-set of C that:
    a) Is restrictive enough to allow for memory access re-ordering, and
    b) Is restrictive enough that auto-vectorizing works well.

The cool bit here is that the input is valid C (so you can run it through a normal C compiler), but you have actually defined a sub-set that is, pretty much by definition, amenable to both activities that you want to happen to get high performance.

Interestingly, I actually know of some compiler work in this area, so this isn't totally hypothetical. What isn't clear is how much code actually fits these constraints. For the stuff I'm familiar with, about 50% of our code would fit, so you'd still have to manually optimize the other 50%. I don't know if this is close to typical or not. I also don't know if this is enough to be a viable produce (assume about $5M to build the compiler).

Taking all of C seems to be doomed from the beginning, though.
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Knights Landing details (new article)David Kanter2014/01/03 12:58 AM
  eDRAM as cacheiz2014/01/03 04:39 AM
    eDRAM optionsEric Bron2014/01/09 03:45 AM
  Knights Landing details (new article)Emil Briggs2014/01/03 06:06 AM
  Knights Landing details (new article)Michael S2014/01/03 07:05 AM
    PCI-E and QPIDavid Kanter2014/01/03 12:11 PM
  eDRAM still seems too expensive ...Mark Roulo2014/01/03 10:48 AM
    Nevermind ... I see that you addressed this :-)Mark Roulo2014/01/03 10:51 AM
    eDRAM still seems too expensive ...Eric Bron2014/01/03 01:42 PM
  eDRAM or stacked DRAM?Patrick Chase2014/01/03 11:21 AM
    eDRAM or stacked DRAM?Wes Felter2014/01/03 03:00 PM
      eDRAM or stacked DRAM?Patrick Chase2014/01/03 07:26 PM
        eDRAM or stacked DRAM?tarlinian2014/06/23 09:59 PM
          eDRAM or stacked DRAM?Maynard Handley2014/06/24 01:47 AM
            eDRAM or stacked DRAM?Michael S2014/06/24 03:13 AM
            eDRAM or stacked DRAM?David Kanter2014/06/24 12:09 PM
              eDRAM or stacked DRAM?anon2014/06/24 07:50 PM
                eDRAM or stacked DRAM?Eric Bron2014/06/24 10:02 PM
                  eDRAM or stacked DRAM?anon2014/06/24 10:39 PM
                eDRAM or stacked DRAM?Michael S2014/06/25 01:46 AM
              eDRAM or stacked DRAM?Michael S2014/06/25 01:29 AM
          eDRAM or stacked DRAM?Eric Bron2014/06/24 05:37 AM
            eDRAM or stacked DRAM?tarlinian2014/06/24 08:53 AM
              eDRAM or stacked DRAM?Eric Bron2014/06/24 09:09 AM
                eDRAM or stacked DRAM?tarlinian2014/06/24 09:40 AM
                  eDRAM or stacked DRAM?Eric Bron2014/06/24 10:10 AM
                    eDRAM or stacked DRAM?Eric Bron2014/06/24 10:12 AM
          eDRAM or stacked DRAM?Wes Felter2014/06/24 10:09 PM
            eDRAM or stacked DRAM?Michael S2014/06/25 02:02 AM
  Why not tag-inclusive L3?Paul A. Clayton2014/01/03 04:28 PM
    Why not tag-inclusive L3?Eric Bron2014/01/04 03:22 AM
  Knights Landing L/S bandwidthNicolas Capens2014/01/04 05:43 AM
    Knights Landing L/S bandwidthEric Bron2014/01/04 06:20 AM
      Knights Landing L/S bandwidthNicolas Capens2014/01/04 02:55 PM
        Knights Landing L/S bandwidthEric Bron2014/01/04 03:27 PM
          Knights Landing L/S bandwidthhobold2014/01/04 04:23 PM
            Knights Landing L/S bandwidthEric Bron2014/01/04 05:20 PM
              Knights Landing L/S bandwidthMichael S2014/01/05 03:42 AM
                Knights Landing L/S bandwidthEric Bron2014/01/05 03:49 AM
                  Knights Landing L/S bandwidthPatrick Chase2014/01/11 08:13 PM
                    Knights Landing L/S bandwidthNicolas Capens2014/01/13 08:39 PM
                Knights Landing L/S bandwidthNicolas Capens2014/01/05 03:18 PM
                  Knights Landing L/S bandwidthMichael S2014/01/06 04:09 AM
                    Knights Landing L/S bandwidthEric Bron2014/01/06 05:11 AM
                      Knights Landing L/S bandwidthMichael S2014/01/06 05:40 AM
                        Knights Landing L/S bandwidthEric Bron2014/01/06 05:54 AM
                        Knights Landing L/S bandwidthEric Bron2014/01/08 09:00 AM
                    Knights Landing L/S bandwidthNicolas Capens2014/01/07 03:31 PM
                      Knights Landing L/S bandwidthMichael S2014/01/07 04:17 PM
                        Knights Landing L/S bandwidthNicolas Capens2014/01/07 09:55 PM
                          Knights Landing L/S bandwidthMichael S2014/01/08 01:42 AM
                            Knights Landing L/S bandwidthGabriele Svelto2014/01/08 08:30 AM
                              Occam's razorNicolas Capens2014/01/08 02:33 PM
                                Occam's razorGabriele Svelto2014/01/08 02:51 PM
                                  Occam's razorEric Bron2014/01/08 03:28 PM
                                    Occam's razorbakaneko2014/01/09 04:45 AM
                                      Occam's razoranon2014/01/09 05:02 AM
                                        Occam's razorbakaneko2014/01/09 06:24 AM
                                          Occam's razorbakaneko2014/01/09 06:51 AM
                                            Occam's razoranon2014/01/09 07:18 AM
                                          Occam's razoranon2014/01/09 07:16 AM
                                            Occam's razorbakaneko2014/01/09 08:43 AM
                                              Occam's razoranon2014/01/09 09:17 AM
                                                Occam's razorbakaneko2014/01/09 11:12 AM
                                                  Occam's razorEric Bron2014/01/09 11:18 AM
                                                    Occam's razorbakaneko2014/01/09 11:58 AM
                                                  Occam's razoranon2014/01/09 12:35 PM
                                                    Occam's razorbakaneko2014/01/12 10:48 AM
                                                  99.9% not a new extensionNicolas Capens2014/01/10 11:39 AM
                                                    Compiler complexityGabriele Svelto2014/01/11 03:58 AM
                                                      Compiler complexityNicolas Capens2014/01/11 01:20 PM
                                                        Compiler complexityGabriele Svelto2014/01/11 03:17 PM
                                                          Patent pendingNicolas Capens2014/01/14 07:21 PM
                                                    99.9% not a new extensionbakaneko2014/01/12 11:08 AM
                                  L0 data cacheEric Bron2014/01/08 04:52 PM
                                  Occam's razorDavid Kanter2014/01/08 04:53 PM
                                    Occam's razorNicolas Capens2014/01/09 03:07 AM
                                      Occam's razorRicardo B2014/01/09 05:21 AM
                                        Virtually indexed, untaggedNicolas Capens2014/01/10 11:27 AM
                                          Virtually indexed, untaggedGabriele Svelto2014/01/11 04:08 AM
                                            Virtually indexed, untaggedNicolas Capens2014/01/11 09:45 PM
                                              Virtually indexed, untaggedDavid Kanter2014/01/12 02:13 AM
                                                Virtually indexed, untaggedanon2014/01/12 04:02 AM
                                                Virtually indexed, untaggedNicolas Capens2014/01/16 09:55 AM
                                              Virtually indexed, untaggedMichael S2014/01/12 04:09 AM
                                                Virtually indexed, untaggedNicolas Capens2014/01/16 10:47 AM
                                      Occam's razorDavid Kanter2014/01/09 06:42 PM
                                        Occam's razorNicolas Capens2014/01/10 02:22 PM
                                          Occam's razorDavid Kanter2014/01/10 04:06 PM
                                            MEM : ALU ratioNicolas Capens2014/01/11 12:24 AM
                                              MEM : ALU ratioGabriele Svelto2014/01/11 03:47 AM
                                                MEM : ALU ratioEric Bron2014/01/11 04:41 AM
                                                  MEM : ALU ratioEric Bron2014/01/11 05:06 AM
                                                    MEM : ALU ratioDavid Kanter2014/01/11 08:28 PM
                                                      MEM : ALU ratioEric Bron nli2014/01/12 02:54 AM
                                                  MEM : ALU ratioGabriele Svelto2014/01/11 10:15 AM
                                                MEM : ALU ratioNicolas Capens2014/01/14 06:56 PM
                                                  Etiquette in linking to papersPaul A. Clayton2014/01/14 07:44 PM
                                                  MEM : ALU ratioanon2014/01/14 08:32 PM
                                                    L0 power costNicolas Capens2014/01/16 02:05 PM
                                                      L0 power costanon2014/01/16 10:01 PM
                                                        L0 power costNicolas Capens2014/01/19 12:30 AM
                                                          Links revealedPaul A. Clayton2014/01/19 04:47 PM
                                                          L0 power costanon2014/01/20 01:19 AM
                                                            L0 power costNicolas Capens2014/01/20 02:49 PM
                                                              L0 power costanon2014/01/21 01:18 AM
                                                                Q.E.D.Nicolas Capens2014/01/21 08:44 PM
                                                                  Q.E.D.anon2014/01/21 09:24 PM
                                                                    Straw manNicolas Capens2014/01/23 11:56 PM
                                                                      Straw mananon2014/01/25 06:46 AM
                                                                        Still waiting for an explanationNicolas Capens2014/01/26 12:19 AM
                                                                          Still waiting for an explanationExophase2014/01/26 01:13 PM
                                                                            Still waiting for an explanationbakaneko2014/01/26 11:52 PM
                                                                  Q.E.D.Ricardo B2014/01/22 06:58 PM
                                                                    Q.E.D.Michael S2014/01/23 04:59 AM
                                                                      L0 entry countNicolas Capens2014/01/24 01:11 AM
                                                                        L0 entry countEric Bron2014/01/24 02:08 AM
                                                                          L0 entry countMichael S2014/01/24 06:18 AM
                                                                            L0 entry countEric Bron2014/01/24 07:15 AM
                                                                              L0 entry countMichael S2014/01/24 08:10 AM
                                                                                L0 entry countEric Bron2014/01/24 08:20 AM
                                                                          L0 entry countNicolas Capens2014/01/24 02:33 PM
                                                                            L0 entry countEric Bron2014/01/24 03:20 PM
                                                                              L0 entry count and L1 read port orthogonalityNicolas Capens2014/01/26 01:14 AM
                                                                                L0 entry count and L1 read port orthogonalityEric Bron2014/01/26 03:49 AM
                                                                    L0 hit rateNicolas Capens2014/01/24 12:49 AM
                                                                      L0 hit rateRicardo B2014/01/24 06:42 AM
                                                                        L0 hit rateExophase2014/01/24 01:37 PM
                                                                          L0 hit rateEric Bron2014/01/24 02:12 PM
                                                                        L0 vs RF powerNicolas Capens2014/01/24 02:43 PM
                                              MEM : ALU ratioDavid Kanter2014/01/11 01:47 PM
                                                MEM : ALU ratioNicolas Capens2014/01/16 09:23 AM
                                                  MEM : ALU ratioStubabe2014/01/17 12:58 PM
                                                    MEM : ALU ratioStubabe2014/01/17 01:42 PM
                                                      MEM : ALU ratioMichael S2014/01/18 04:57 PM
                                                        MEM : ALU ratiobakaneko2014/01/19 12:47 AM
                                                    MEM : ALU ratioNicolas Capens2014/01/20 03:48 PM
                                                      It's called "tunnel vision" (NT)iz2014/01/20 04:36 PM
                                                      MEM : ALU ratioMichael S2014/01/20 04:37 PM
                                                        MEM : ALU ratioStubabe2014/01/21 04:54 PM
                                                        MEM : ALU ratioNicolas Capens2014/01/21 10:07 PM
                                                          MEM : ALU ratioMichael S2014/01/22 08:17 AM
                                                            MEM : ALU ratioNicolas Capens2014/01/24 03:33 PM
                                                      MEM : ALU ratioStubabe2014/01/21 04:32 PM
                                                        MEM : ALU ratioMichael S2014/01/22 08:56 AM
                                                          MEM : ALU ratioStubabe2014/01/23 09:06 AM
                                                            MEM : ALU ratioEric Bron2014/01/23 09:45 AM
                                                              editEric Bron2014/01/23 09:49 AM
                                                            MEM : ALU ratioMichael S2014/01/23 09:58 AM
                                                              MEM : ALU ratioEric Bron2014/01/23 10:29 AM
                                                                MEM : ALU ratioMichael S2014/01/23 10:33 AM
                                                              MEM : ALU ratioStubabe2014/01/24 04:50 AM
                                                MEM : ALU ratiobakaneko2014/01/23 10:36 AM
                                              MEM : ALU ratioNoSpammer2014/01/11 03:39 PM
                                                L1 vs L0 access costNicolas Capens2014/01/16 03:17 PM
                                                  L1 vs L0 access costNoSpammer2014/01/19 01:48 PM
                                                    L1 vs L0 access costdmcq2014/01/22 05:45 AM
                                                      L1 vs L0 access costGabriele Svelto2014/01/22 07:29 AM
                                                        L1 vs L0 access costdmcq2014/01/22 01:33 PM
                                                          L1 vs L0 access costGabriele Svelto2014/01/22 04:33 PM
                                                            L1 vs L0 access costdmcq2014/01/24 04:19 AM
                                                    L1 vs L0 access costNicolas Capens2014/01/24 02:16 AM
                                      Occam's razorPatrick Chase2014/01/13 11:19 AM
                                  Occam's razorNicolas Capens2014/01/09 12:40 AM
                                    Occam's razorGabriele Svelto2014/01/09 02:41 AM
                                      Occam's razorEric Bron2014/01/09 02:54 AM
                                        Occam's razorGabriele Svelto2014/01/09 06:35 AM
                                          Occam's razorEric Bron2014/01/09 07:14 AM
                                            avoiding redundant loadsEric Bron2014/01/09 07:18 AM
                                            AVX2 versionEric Bron2014/01/09 07:32 AM
                                      Occam's razorAmiba Gelos2014/01/09 03:01 AM
                                        Occam's razorEric Bron2014/01/09 03:06 AM
                                          Occam's razorAmiba Gelos2014/01/09 03:43 AM
                                            Occam's razorEric Bron2014/01/09 04:02 AM
                                        L0 access latencyNicolas Capens2014/01/09 04:27 AM
                                          L0 access latencyAmiba Gelos2014/01/09 05:16 AM
                                            compared to L0$ i would say banking is far more likely (NT)Amiba Gelos2014/01/09 05:20 AM
                                            L0 access latencyNicolas Capens2014/01/10 03:20 PM
                                      Occam's razorNicolas Capens2014/01/09 04:19 AM
                                    Occam's razorNoSpammer2014/01/09 12:55 PM
                                      Occam's razorNicolas Capens2014/01/10 03:40 PM
                                        Occam's razorMichael S2014/01/11 10:21 AM
                                        Occam's razorMichael S2014/01/12 03:21 PM
                                          KNC compiler outputNicolas Capens2014/01/16 06:39 PM
                                            KNC compiler outputMichael S2014/01/18 05:13 PM
                                    L0 cache coherencyDavid Kanter2014/01/11 08:39 PM
                                Occam's razoranon2014/01/09 05:12 AM
                            Knights Landing L/S bandwidthEric Bron2014/01/08 10:46 AM
                              Knights Landing L/S bandwidthMichael S2014/01/08 11:23 AM
                            Knights Landing L/S bandwidthNicolas Capens2014/01/08 02:02 PM
                              Knights Landing L/S bandwidthMichael S2014/01/08 02:29 PM
                                Knights Landing L/S bandwidthEric Bron2014/01/08 02:54 PM
                                  Knights Landing L/S bandwidthMichael S2014/01/08 03:00 PM
                                    Knights Landing L/S bandwidthEric Bron2014/01/08 03:13 PM
                                      Knights Landing L/S bandwidthMichael S2014/01/08 03:28 PM
                                        Knights Landing L/S bandwidthEric Bron2014/01/08 03:32 PM
                                          Knights Landing L/S bandwidthMichael S2014/01/08 03:40 PM
                                            Knights Landing L/S bandwidthEric Bron2014/01/08 03:51 PM
                                              Knights Landing L/S bandwidthMichael S2014/01/09 12:18 PM
                          Knights Landing L/S bandwidthPatrick Chase2014/01/12 10:03 PM
                            Also page/line splits?David Kanter2014/01/12 10:50 PM
                              Also page/line splits?anon2014/01/13 01:44 AM
                                Also page/line splits?none2014/01/13 03:09 AM
                                  Also page/line splits?anon2014/01/13 04:19 AM
                            Knights Landing L/S bandwidthExophase2014/01/13 12:15 AM
                            Knights Landing L/S bandwidthanon2014/01/13 01:41 AM
                              Knights Landing L/S bandwidthPatrick Chase2014/01/13 11:14 AM
                            Aliased writesNicolas Capens2014/01/14 09:46 PM
                      Knights Landing L/S bandwidthRicardo B2014/01/07 04:27 PM
                        Knights Landing L/S bandwidthNicolas Capens2014/01/07 10:28 PM
                          Knights Landing L/S bandwidthRicardo B2014/01/08 02:13 AM
                            Knights Landing L/S bandwidthEric Bron2014/01/08 11:10 AM
                            Knights Landing L/S bandwidthNicolas Capens2014/01/08 03:31 PM
                              Knights Landing L/S bandwidthRicardo B2014/01/08 03:58 PM
                                Knights Landing L/S bandwidthG. Gouvine2014/01/09 09:10 AM
                                  Knights Landing L/S bandwidthRicardo B2014/01/09 11:19 AM
                                    Efficient load queue vs. efficient L0 cacheNicolas Capens2014/01/11 12:28 PM
                                      Efficient load queue vs. efficient L0 cacheG. Gouvine2014/01/13 02:11 AM
                                        Efficient load queue vs. efficient L0 cacheMichael S2014/01/13 03:43 AM
                                Register file read port requirementsNicolas Capens2014/01/11 12:55 AM
                                  Register file read port requirementsRicardo B2014/01/11 05:24 AM
                                    Register file read port requirementsEric Bron2014/01/11 05:32 AM
                                      Register file read port requirementsMichael S2014/01/11 09:57 AM
                                        Register file read port requirementsEric Bron2014/01/11 11:16 AM
                                          Register file read port requirementsMichael S2014/01/11 11:46 AM
                                            Register file read port requirementsEric Bron2014/01/11 12:12 PM
                                              Register file read port requirementsMichael S2014/01/11 12:36 PM
                                                Register file read port requirementsEric Bron2014/01/11 12:51 PM
                                              Register file read port requirementsPatrick Chase2014/01/13 02:27 PM
                                                Register file read port requirementsEric Bron2014/01/13 04:24 PM
                                                  Register file read port requirementsPatrick Chase2014/01/13 06:02 PM
                                                    Register file read port requirementsEric Bron2014/01/14 04:50 AM
                                                      Register file read port requirementsMichael S2014/01/14 11:36 AM
                                                        Register file read port requirementsEric Bron nli2014/01/14 01:04 PM
                                            Register file read port requirementsPatrick Chase2014/01/13 02:17 PM
                                              Register file read port requirementsMichael S2014/01/15 04:27 AM
                                        Register file read port requirementsEric Bron2014/01/11 11:28 AM
                                          Register file read port requirementsMichael S2014/01/11 12:07 PM
                                            Register file read port requirementsPatrick Chase2014/01/13 02:40 PM
                                          Register file read port requirementsPatrick Chase2014/01/13 02:34 PM
                                      Register file read port requirementsRicardo B2014/01/11 12:55 PM
                                        Register file read port requirementsEric Bron2014/01/11 01:17 PM
                                          Register file read port requirementsRicardo B2014/01/11 02:36 PM
                                            Register file read port requirementsEric Bron2014/01/11 02:42 PM
                                              Register file read port requirementsRicardo B2014/01/11 03:20 PM
                                                Register file read port requirementsEric Bron2014/01/11 03:26 PM
                                                  Register file read port requirementsMichael S2014/01/11 04:07 PM
                                                    Register file read port requirementsRicardo B2014/01/11 04:38 PM
                                                      Register file read port requirementsMichael S2014/01/11 04:49 PM
                                                Register file read port requirementsEric Bron2014/01/11 03:39 PM
                                                  Register file read port requirementsEric Bron2014/01/11 03:41 PM
                                                  Register file read port requirementsRicardo B2014/01/11 04:30 PM
                                    Register file read port requirementsNicolas Capens2014/01/11 12:09 PM
              Knights Landing L/S bandwidthanon2014/01/05 06:55 AM
                Knights Landing L/S bandwidthEric Bron2014/01/05 07:30 AM
                  Knights Landing L/S bandwidthanon2014/01/06 01:07 AM
                    Knights Landing L/S bandwidthEric Bron2014/01/06 02:38 AM
                      Knights Landing L/S bandwidthanon2014/01/06 04:01 AM
                        Knights Landing L/S bandwidthEric Bron2014/01/06 04:44 AM
                          Knights Landing L/S bandwidthanon2014/01/06 05:39 AM
                            Knights Landing L/S bandwidthEric Bron2014/01/06 06:00 AM
                              Knights Landing L/S bandwidthanon2014/01/06 06:44 AM
                                Knights Landing L/S bandwidthMichael S2014/01/06 08:54 AM
                                  Knights Landing L/S bandwidthEric Bron2014/01/06 10:11 AM
                                    Knights Landing L/S bandwidthMichael S2014/01/06 10:14 AM
                                      Knights Landing L/S bandwidthEric Bron2014/01/06 11:37 AM
                                        Knights Landing L/S bandwidthRicardo B2014/01/08 06:25 AM
                                          Knights Landing L/S bandwidthEric Bron2014/01/08 08:36 AM
                                            Knights Landing L/S bandwidthEric Bron2014/01/08 08:41 AM
                                            KNC code generator with EVEX back-end?Michael S2014/01/08 09:43 AM
                                              KNC code generator with EVEX back-end?Exophase2014/01/08 10:00 AM
                                                KNC code generator with EVEX back-end?Ricardo B2014/01/08 11:39 AM
                                                  KNC code generator with EVEX back-end?Eric Bron2014/01/08 12:15 PM
                                                    KNC code generator with EVEX back-end?Exophase2014/01/08 01:17 PM
                                                      KNC code generator with EVEX back-end?Ricardo B2014/01/08 02:06 PM
                                                        KNC code generator with EVEX back-end?Exophase2014/01/08 02:24 PM
                                                        KNC code generator with EVEX back-end?Eric Bron2014/01/08 02:38 PM
                                                    KNC code generator with EVEX back-end?Michael S2014/01/08 01:54 PM
                                              KNC code generator with EVEX back-end?Eric Bron2014/01/08 10:25 AM
                                              KNC code generator with EVEX back-end?Eric Bron2014/01/08 10:35 AM
                                                KNC code generator with EVEX back-end?Michael S2014/01/08 11:07 AM
                                                  KNC code generator with EVEX back-end?Eric Bron2014/01/08 11:24 AM
                                                    KNC code generator with EVEX back-end?Michael S2014/01/08 11:43 AM
                                                      KNC code generator with EVEX back-end?Eric Bron2014/01/08 01:23 PM
                                              KNC code generator with EVEX back-end?Eric Bron2014/01/08 10:43 AM
                                          AVX2 code much different than AVX-512Eric Bron2014/01/08 08:52 AM
                                            evil questionhobold2014/01/08 10:22 AM
                                              evil questionEric Bron2014/01/08 10:27 AM
                                                evil questionhobold2014/01/08 02:33 PM
                                                  evil questionMichael S2014/01/08 02:37 PM
                                                    stupid question (was: evil question)hobold2014/01/09 05:41 AM
                                                      stupid question (was: evil question)Eric Bron2014/01/09 05:52 AM
                                                        stupid question (was: evil question)Michael S2014/01/09 08:00 AM
                                                          stupid question (was: evil question)Michael S2014/01/09 08:12 AM
                                                            stupid question (was: evil question)Eric Bron2014/01/09 10:47 AM
                                                              stupid question (was: evil question)Michael S2014/01/09 11:48 AM
                                                                more decisive (hopefully) test caseMichael S2014/01/09 12:01 PM
                                                                  more decisive (hopefully) test caseEric Bron2014/01/09 12:08 PM
                                                                    more decisive (hopefully) test caseMichael S2014/01/09 12:24 PM
                                                                      more decisive (hopefully) test caseEric Bron2014/01/09 12:27 PM
                                                                        more decisive (hopefully) test caseMichael S2014/01/09 12:33 PM
                                                                  AVX2Eric Bron2014/01/09 12:14 PM
                                                                    AVX2Michael S2014/01/09 12:30 PM
                                                                      AVX2Eric Bron2014/01/09 12:40 PM
                                                                  another tryMichael S2014/01/09 03:02 PM
                                                                    another tryEric Bron2014/01/09 03:33 PM
                                                                      another tryMichael S2014/01/09 04:20 PM
                                                                      another try - ignore misformated mess aboveMichael S2014/01/09 04:24 PM
                                                                        another try - ignore misformated mess aboveGabriele Svelto2014/01/10 01:01 AM
                                                                          another try - ignore misformated mess aboveEric Bron2014/01/10 03:05 AM
                                                                            another try - ignore misformated mess aboveMichael S2014/01/11 10:23 AM
                                                                              another try - ignore misformated mess aboveEric Bron2014/01/11 11:08 AM
                                                                                another try - ignore misformated mess aboveMichael S2014/01/11 12:09 PM
                                                                                  another try - ignore misformated mess aboveMichael S2014/01/11 12:12 PM
                                                                                    another try - ignore misformated mess aboveEric Bron2014/01/11 12:24 PM
                                                                                      another try - ignore misformated mess aboveMichael S2014/01/11 01:24 PM
                                                                                        another try - ignore misformated mess aboveEric Bron2014/01/11 02:11 PM
                                                                                          another try - ignore misformated mess aboveMichael S2014/01/11 02:18 PM
                                                                                            another try - ignore misformated mess aboveEric Bron2014/01/11 02:27 PM
                                                                                              another try - ignore misformated mess aboveMichael S2014/01/11 02:29 PM
                                                                                                another try - ignore misformated mess aboveEric Bron2014/01/11 02:46 PM
                                                                                                  another try - ignore misformated mess aboveEric Bron2014/01/11 02:46 PM
                                                                                                  another try - ignore misformated mess aboveMichael S2014/01/11 03:28 PM
                                                                                        another try - ignore misformated mess aboveEric Bron2014/01/11 02:17 PM
                                                                                          another try - ignore misformated mess aboveMichael S2014/01/11 02:24 PM
                                                                    KNC versionMichael S2014/01/11 05:19 PM
                                                                      KNC versionEric Bron nli2014/01/12 02:59 AM
                                                                        KNC versionGabriele Svelto2014/01/12 09:06 AM
                                                  evil questionEric Bron2014/01/08 02:41 PM
              Knights Landing L/S bandwidthPatrick Chase2014/01/05 11:20 PM
                Knights Landing L/S bandwidthEric Bron2014/01/06 02:45 AM
                  Knights Landing L/S bandwidthanon2014/01/06 04:12 AM
                    Knights Landing L/S bandwidthMichael S2014/01/06 04:17 AM
                      Knights Landing L/S bandwidthanon2014/01/06 05:20 AM
          Knights Landing L/S bandwidthNicolas Capens2014/01/04 05:34 PM
            Knights Landing L/S bandwidthEric Bron2014/01/04 05:44 PM
              Knights Landing L/S bandwidthNicolas Capens2014/01/05 12:25 PM
                Knights Landing L/S bandwidthEric Bron2014/01/05 01:50 PM
                  Knights Landing L/S bandwidthNicolas Capens2014/01/05 03:34 PM
                    Might even help with gatherNicolas Capens2014/01/05 03:40 PM
                      What is an L0 cache?David Kanter2014/01/05 10:44 PM
                        What is an L0 cache?anon2014/01/06 05:57 AM
                          What is an L0 cache?Nicolas Capens2014/01/06 12:57 PM
                            What is an L0 cache?anon2014/01/06 02:18 PM
    Knights Landing L/S bandwidthDavid Kanter2014/01/04 10:58 AM
      Knights Landing L/S bandwidthNicolas Capens2014/01/04 04:24 PM
        Knights Landing L/S bandwidthEric Bron2014/01/04 04:46 PM
          Knights Landing L/S bandwidthKonrad Schwarz2014/01/08 12:48 AM
            Knights Landing L/S bandwidthMichael S2014/01/08 02:45 AM
        Knights Landing L/S bandwidthDavid Kanter2014/01/05 01:44 AM
          Knights Landing L/S bandwidthEric Bron2014/01/05 03:55 AM
          Knights Landing L/S bandwidthNicolas Capens2014/01/05 12:18 PM
            Knights Landing L/S bandwidthMaynard Handley2014/01/05 11:33 PM
              Knights Landing L/S bandwidthEric Bron2014/01/06 04:02 AM
                Knights Landing L/S bandwidthMichael S2014/01/06 04:23 AM
                  Knights Landing L/S bandwidthEric Bron2014/01/06 04:35 AM
                    Knights Landing L/S bandwidthMichael S2014/01/06 05:20 AM
                      Knights Landing L/S bandwidthMichael S2014/01/06 05:32 AM
                      Knights Landing L/S bandwidthEric Bron2014/01/06 05:36 AM
                        Knights Landing L/S bandwidthMichael S2014/01/06 06:00 AM
                          Knights Landing L/S bandwidthEric Bron2014/01/06 06:07 AM
                          Knights Landing L/S bandwidthEric Bron2014/01/06 06:14 AM
                            editsEric Bron2014/01/06 06:22 AM
                              optimized versionEric Bron2014/01/06 06:35 AM
                                yet more optimized versionEric Bron2014/01/06 06:42 AM
                                  latest version for todayEric Bron2014/01/06 06:51 AM
                                    Probably just L2 bandwith limitedNicolas Capens2014/01/06 11:48 AM
                                  yet more optimized versionMaynard Handley2014/01/06 06:54 PM
                                optimized versionMaynard Handley2014/01/06 06:52 PM
                                  optimized versionMichael S2014/01/07 10:42 AM
                                    optimized versionNicolas Capens2014/01/07 12:36 PM
                                      optimized versionMichael S2014/01/07 03:41 PM
                                        optimized versionNicolas Capens2014/01/07 10:52 PM
                                          optimized versionMichael S2014/01/08 02:10 AM
                                    optimized versionEric Bron2014/01/07 02:34 PM
                                      optimized versionMichael S2014/01/07 03:18 PM
                                        optimized versionEric Bron2014/01/07 03:30 PM
                                          optimized versionEric Bron2014/01/07 03:33 PM
                                            optimized versionMichael S2014/01/07 03:57 PM
                                    optimized versionMaynard Handley2014/01/07 06:50 PM
                                      optimized versionMichael S2014/01/08 02:39 AM
                Knights Landing L/S bandwidthMaynard Handley2014/01/06 06:47 PM
              Knights Landing L/S bandwidthNicolas Capens2014/01/06 09:18 AM
                Knights Landing L/S bandwidthMaynard Handley2014/01/06 06:56 PM
                  Knights Landing L/S bandwidthNicolas Capens2014/01/07 12:18 PM
        Knights Landing L/S bandwidthNoSpammer2014/01/05 01:15 PM
          Knights Landing L/S bandwidthNicolas Capens2014/01/05 03:06 PM
            Knights Landing L/S bandwidthNoSpammer2014/01/06 04:20 AM
              Knights Landing L/S bandwidthNicolas Capens2014/01/06 11:54 AM
                Knights Landing L/S bandwidthNoSpammer2014/01/06 01:24 PM
                  Knights Landing L/S bandwidthNicolas Capens2014/01/06 09:15 PM
                    Knights Landing L/S bandwidthNoSpammer2014/01/07 03:58 AM
                      Knights Landing L/S bandwidthNicolas Capens2014/01/07 03:18 PM
                        Knights Landing L/S bandwidthNoSpammer2014/01/08 01:38 PM
                          Knights Landing L/S bandwidthNicolas Capens2014/01/08 11:14 PM
  AVX512F questionMichael S2014/01/06 10:18 AM
    AVX512F questionNicolas Capens2014/01/06 12:01 PM
  Knights Landing - time for obituary?Michael S2018/07/31 03:00 PM
    Knights Landing - time for obituary?Adrian2018/07/31 09:24 PM
      Knights Landing - time for obituary?SoftwareEngineer2018/08/01 02:15 AM
        auto-vectorization is a dead endMichael S2018/08/01 03:48 AM
          Auto-vectorization of random C is a dead endMark Roulo2018/08/01 11:07 AM
            Auto-vectorization of random C is a dead endPassing Through2018/08/01 01:35 PM
              Auto-vectorization of random C is a dead endDavid Kanter2018/08/01 10:44 PM
                Auto-vectorization of random C is a dead endPassing Through2018/08/02 01:51 AM
            Auto-vectorization of random C is a dead endSoftwareEngineer2018/08/02 01:19 AM
              Auto-vectorization of random C is a dead endMark Roulo2018/08/02 09:50 AM
                Auto-vectorization of random C is a dead endMichael S2018/08/02 12:11 PM
                  Auto-vectorization of random C is a dead endj2018/08/02 11:37 PM
                    Auto-vectorization of random C is a dead endMichael S2018/08/03 03:50 AM
                      Auto-vectorization of random C is a dead endrwessel2018/08/03 11:06 PM
                  Auto-vectorization of random C is a dead endRicardo B2018/08/03 04:20 AM
                    Auto-vectorization of random C is a dead endMichael S2018/08/03 05:37 AM
                      Auto-vectorization of random C is a dead endRicardo B2018/08/03 11:22 AM
            Auto-vectorization of random C is a dead endTravis2018/08/03 07:58 PM
              Potential way to autovectorization in the future. Jouni Osmala2018/08/03 10:22 PM
                Potential way to autovectorization in the future. Jukka Larja2018/08/04 04:03 AM
                  Potential way to autovectorization in the future. Passing Through2018/08/04 06:47 AM
                Potential way to autovectorization in the future. Travis2018/08/04 01:50 PM
                  Potential way to autovectorization in the future. Michael S2018/08/04 02:33 PM
                    Potential way to autovectorization in the future. Travis2018/08/04 02:48 PM
                    Potential way to autovectorization in the future. Passing Through2018/08/04 02:58 PM
                  Skylake server/client AVX PRF speculationJeff S.2018/08/04 05:42 PM
                    Skylake server/client AVX PRF speculationanonymou52018/08/04 06:21 PM
                      Skylake server/client AVX PRF speculationJeff S.2018/08/04 06:38 PM
                        Skylake server/client AVX PRF speculationanonymou52018/08/04 07:45 PM
                          Skylake server/client AVX PRF speculationJeff S.2018/08/04 08:08 PM
                            Skylake server/client AVX PRF speculationanonymou52018/08/04 08:18 PM
                              Skylake server/client AVX PRF speculationNomad2018/08/05 11:10 PM
                                Skylake server/client AVX PRF speculationanonymou52018/08/06 12:14 PM
                                Skylake server/client AVX PRF speculationTravis2018/08/06 08:43 PM
                            Skylake server/client AVX PRF speculationTravis2018/08/06 08:39 PM
              Auto-vectorization of random C is a dead endBrett2018/08/04 01:55 PM
                Auto-vectorization of random C is a dead endTravis2018/08/04 02:38 PM
                  Auto-vectorization of random C is a dead endPassing Through2018/08/04 03:00 PM
                    New record for shortest post by Ireland - AI crashed? (NT)Travis2018/08/04 03:34 PM
                      New record for shortest post by Ireland - AI crashed?Passing Through2018/08/04 04:12 PM
                        New record for shortest post by Ireland - AI crashed?anonymou52018/08/04 06:00 PM
                          New record for shortest post by Ireland - AI crashed?Brett2018/08/04 06:40 PM
                            New record for shortest post by Ireland - AI crashed?anonymou52018/08/04 07:38 PM
                  Auto-vectorization of random C is a dead endnoko2018/08/04 09:46 PM
        The story of ispc (a 12 entry blog series)Simon Farnsworth2018/08/01 03:50 AM
          the 1st link is empty (NT)Michael S2018/08/01 04:05 AM
            the 1st link is emptySimon Farnsworth2018/08/01 06:42 AM
          Interesting read, thanks! (NT)SoftwareEngineer2018/08/01 06:57 AM
          Amazing readLaurent2018/08/01 09:00 AM
            Amazing readPassing Through2018/08/01 01:13 PM
              Amazing readDoug S2018/08/01 02:30 PM
                Amazing readPassing Through2018/08/01 02:49 PM
          ISPC vs OpenCL?j2018/08/02 11:41 PM
            ISPC vs OpenCL?coppcie2018/08/03 03:55 AM
            ISPC vs OpenCL?Passing Through2018/08/03 04:07 AM
              Go awayForum Reader2018/08/03 08:11 AM
              ISPC vs OpenCL?Gian-Carlo Pascutto2018/09/11 06:50 AM
            ISPC vs OpenCL?SoftwareEngineer2018/08/03 04:18 AM
        Knights Landing - time for obituary?Kevin G2018/08/01 07:14 AM
          Knights Landing - time for obituary?SoftwareEngineer2018/08/01 07:29 AM
        Knights Landing - time for obituary?Passing Through2018/08/01 07:38 AM
          Knights Landing - time for obituary?Eric Bron2018/08/02 06:57 AM
            Knights Landing - time for obituary?Passing Through2018/08/02 12:29 PM
              Knights Landing - time for obituary?Eric Bron2018/08/02 01:49 PM
                Knights Landing - time for obituary?Passing Through2018/08/02 02:17 PM
          chess algorithms vs, low level optimizationsEric Bron2018/08/02 07:15 AM
            AlphaZero vs StockfishMichael S2018/08/02 07:55 AM
              AlphaZero vs StockfishEric Bron2018/08/02 08:24 AM
                AlphaZero vs StockfishMichael S2018/08/02 09:01 AM
                  AlphaZero vs StockfishEric Bron2018/08/02 09:11 AM
                  Leela 4th vs all othersEric Bron nli2018/09/11 03:40 AM
              AlphaZero vs StockfishGian-Carlo Pascutto2018/09/11 06:31 AM
                AlphaZero vs StockfishEric Bron2018/09/11 09:26 AM
                  AlphaZero vs StockfishEric Bron2018/09/11 09:58 AM
                    AlphaZero vs StockfishPer Hesselgren2018/12/31 10:04 AM
                Leela Chess ZeroPer Hesselgren2018/12/31 12:00 PM
              AlphaZero vs Stockfish (on Xeon)Per Hesselgren2018/12/31 09:59 AM
        C/C++ and vector/parallel/distributedRichardC2018/08/02 05:50 AM
      Knights Landing - time for obituary?Passing Through2018/08/01 07:52 AM
        Knights Landing - time for obituary?Kevin G2018/08/01 02:03 PM
          Knights Landing - time for obituary?Passing Through2018/08/01 02:33 PM
      Knights Landing - time for obituary?Kevin G2018/08/01 08:26 AM
        Knights Landing - time for obituary?Kevin G2018/08/01 08:26 AM
        Knights Landing - time for obituary?juanrga2018/08/01 02:26 PM
          Knights Landing - time for obituary?hobel2018/08/02 05:46 AM
    Knights Landing - time for obituary?juanrga2018/07/31 11:25 PM
      Right, time for obituary for whole LRB lineageAM2018/08/02 11:46 AM
        Right, time for obituary for whole LRB lineageAdrian2018/08/02 11:46 PM
          LRBNI, AVX512, etc...Michael S2018/08/03 05:23 AM
        Right, time for obituary for whole LRB lineagejuanrga2018/08/03 04:11 AM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell green?