Unfortunately, due to the complexity and specialized nature of AVX-512, such optimizations are typically reserved for performance-critical applications and require expertise in low-level programming and processor microarchitecture.

  • ganymede@lemmy.ml
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    1 hour ago

    nice.

    can usually get a pretty good performance increase with hand writing asm where appropriate.

    don’t know if its a coincidence, but i’ve never seen someone who’s good at writing assembly say that its never useful.

      • ganymede@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        1 hour ago

        from the article it’s not clear what the performance boost is relative to intrinsics (its extremely unlikely to be anything close to 94x lol), its not even clear from the article if the avx2 implementation they benchmarked against was instrinsics or handwritten either. in some cases avx2 seems to slightly outperform avx-512 in their implementation

        there’s also so many different ways to break a problem down that i’m not sure this is an ideal showcase, at least without more information.

        to be fair to the presenters they may not be the ones making the specific flavour of hype that the article writers are.

        • FooBarrington@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          1 hour ago

          There is no comparison between a handwritten-assembly and a C version of the same implementation here. The 94x speedup is the comparison between a non-SIMD C implementation and a SIMD assembly implementation.

          • ganymede@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            37 minutes ago

            yes, as i said

            from the article it’s not clear what the performance boost is relative to intrinsics

            (they don’t make that comparison in the article)

            so its not clear exactly how handwritten asm compares to intrinsics in this specific comparison. we can’t assume their handwritten AVX-512 asm and instrinics AVX-512 will perform identically here, it may be better, or worse.

            also worth noting they’re discussing benchmarking of a specific function, so overall performance on executing a given set of commands may be quite different depending what can and can’t be unrolled and in which order for different dependencies.

    • four@lemmy.zip
      link
      fedilink
      English
      arrow-up
      3
      ·
      3 hours ago

      To be fair, people who don’t find assembly useful probably wouldn’t get good at writing assembly

      • ganymede@lemmy.ml
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        1 hour ago

        for sure, its perfectly reasonable to say “this tool isn’t useful for me”

        its another thing to say “this tool isn’t useful for anyone”