AVX-512 downclocking not as bad as thought?

By: Travis (travis.downs.delete@this.gmail.com), August 24, 2018 1:01 am
Room: Moderated Discussions
With chips that support AVX-512 you have three speed "tiers" the CPU can be running in, let's call them "base", "avx2" and "avx-512" speeds, from fastest to slowest. This is described on wikichip and other places.

The tiers aren't actually strictly defined by AVX2 and AVX-512: there are light and heavy instructions, so only heavy AVX-512 have to suffer the AVX-512 speed, light AVX-512 is grouped with heavy AVX-256, and light AVX-256 could be as cheap as scalar.

Earlier energy saving transitions relating to AVX2 kicked in as soon as you execute a single instruction, and the assumption seems to be that this is true for this stuff too: e.g., if you run one heavy AVX-512 instruction, you'll get downclocked to the slow AVX-512 speed.

This doesn't seem to be the case, at least based on the one Skylake-W 2104 CPU I tested. The three tiers exist, but you only drop down if you run "enough" of the heavy instructions. Enough is quite a bit: even a long loop of back-to-back serial AVX2 FMAs (which execute in this case at one per cycle since they are dependent) doesn't trigger the AVX2 downclock (it runs at the full nominal "scalar" speed of 3.2 GHz). Similarly for AVX-512: although any AVX-512 instruction triggers downclocking to the middle AVX2 tier, even a stream of 1 FMAD every 4 or even 2 cycles doesn't set it down lower. The lowest speed is only reached if FMAs come at a rate of more than 1 every 2 cycles.

Note that this rule only applies to the "heavy" instructions. Light instructions do seem to activate their speed even if they are very sparse: but since AVX2 light is in the fastest tier, this only matters for light AVX-512 instructions, which will put the CPU into the AVX2 speed tier.

So at least with respect to the "heavy" instructions, you can use quite a few before hitting the dreaded downclock.

If anyone wants to run my test on a more interesting system than the W-2104, you can find it here:

https://github.com/travisdowns/avx-turbo

By default it will run on 1 core up to the number of cores you have so you can see the progression as active cores increase. In particular, you can use it to verify if you're getting the published relationship between code type and active core count.
 Next Post in Thread >
TopicPosted ByDate
AVX-512 downclocking not as bad as thought?Travis2018/08/24 01:01 AM
  AVX-512 downclocking not as bad as thought?Ricardo B2018/08/24 05:22 AM
    AVX-512 downclocking not as bad as thought?David Hess2018/08/24 10:08 PM
      AVX-512 downclocking not as bad as thought?Travis2018/08/24 10:54 PM
        AVX-512 downclocking not as bad as thought?anon2018/08/25 05:06 AM
          AVX-512 downclocking not as bad as thought?Travis2018/08/25 08:34 PM
        AVX-512 downclocking not as bad as thought?David Hess2018/08/25 10:44 AM
          AVX-512 downclocking not as bad as thought?Travis2018/08/25 08:35 PM
  AVX-512 downclocking not as bad as thought?Jeff S.2018/08/24 07:22 AM
    AVX-512 downclocking not as bad as thought?Travis2018/08/24 08:41 AM
      AVX-512 downclocking not as bad as thought?Jeff S.2018/08/24 10:24 AM
  AVX-512 downclocking not as bad as thought?Maynard Handley2018/08/24 12:03 PM
    AVX-512 downclocking not as bad as thought?Jeff S.2018/08/24 12:24 PM
      AVX-512 downclocking not as bad as thought?Maynard Handley2018/08/24 01:26 PM
        AVX-512 downclocking not as bad as thought?Jeff S.2018/08/24 01:39 PM
        AVX-512 downclocking not as bad as thought?megabytephreak2018/08/24 01:43 PM
          AVX-512 downclocking not as bad as thought?Maynard Handley2018/08/24 04:59 PM
          AVX-512 downclocking not as bad as thought?someone2018/09/12 01:20 AM
            AVX-512 downclocking not as bad as thought?anonymou52018/09/12 07:39 AM
        AVX-512 downclocking not as bad as thought?Travis2018/08/24 03:48 PM
    AVX-512 downclocking not as bad as thought?David Hess2018/08/24 10:26 PM
  Gold 6130 resultsTravis2018/08/24 04:49 PM
    Gold 6130 results-.-2018/08/24 09:08 PM
      Gold 6130 resultsTravis2018/08/24 11:02 PM
        Gold 6130 results-.-2018/08/25 03:27 AM
          Gold 6130 resultsTravis2018/08/25 08:37 PM
  AVX-512 downclocking not as bad as thought?Adrian2018/08/24 09:30 PM
    AVX-512 downclocking not as bad as thought?Adrian2018/08/24 09:36 PM
      AVX-512 downclocking not as bad as thought?Adrian2018/08/24 09:39 PM
        AVX-512 downclocking not as bad as thought?Travis2018/08/24 11:06 PM
          AVX-512 downclocking not as bad as thought?Adrian2018/08/24 11:28 PM
  AVX-512 downclocking not as bad as thought?Royi2018/08/25 04:36 AM
    AVX-512 downclocking not as bad as thought?Travis Downs2018/08/25 09:18 AM
      AVX-512 possibly in its own clock domain?Brett2018/08/25 01:58 PM
        AVX-512 possibly in its own clock domain?Travis2018/08/25 08:40 PM
          AVX-512 possibly in its own clock domain?Brett2018/08/26 09:48 AM
            AVX-512 possibly in its own clock domain?Maynard Handley2018/08/26 05:28 PM
              AVX-512 possibly in its own clock domain?none2018/08/26 09:40 PM
                AVX-512 possibly in its own clock domain?Maynard Handley2018/08/27 10:37 AM
                  AVX-512 possibly in its own clock domain?none2018/08/27 11:28 AM
        AVX-512 possibly in its own clock domain?David Hess2018/08/26 10:20 AM
          AVX-512 possibly in its own clock domain?Maynard Handley2018/08/26 05:35 PM
            AVX-512 possibly in its own clock domain?Gabriele Svelto2018/08/27 01:46 PM
            AVX-512 possibly in its own clock domain?David Hess2018/08/27 07:03 PM
  AVX-512 downclocking not as bad as thought?Travis2018/09/07 08:32 PM
    AVX-512 downclocking not as bad as thought?anonymou52018/09/07 09:03 PM
      AVX-512 downclocking not as bad as thought?Travis2018/09/09 08:16 PM
    AVX-512 downclocking not as bad as thought?Tim McCaffrey2018/09/08 08:55 AM
      AVX-512 downclocking not as bad as thought?Travis Downs2018/09/08 03:21 PM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell green?