Announcement

Collapse
No announcement yet.

FreeBSD Has Been Working On AMD64 SIMD libc Optimizations - Coming For FreeBSD 14.1

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by bug77 View Post

    Package maintainers would like to have a word with you
    Most likely. I would think this brings bustage with it as well. Wasn't the whole idea of x64-v3 distro versions not gaining much traction because it actually caused more problems due to the aggressive compiler build flags? I feel like I've read something like that here a few times.

    Comment


    • #12
      Originally posted by ddriver View Post
      I'd rather see compilers auto vectorize to avx 512, Seems like most compilers still target 128 bit simd for auto vectorization.
      Not sure what you mean by that. They target whatever you tell them to. Targeting AVX-512 would make little sense since there are barely any CPUs that support it, but if you want to target AVX2, then there is nothing that is stopping you.
      The ideal thing would be to use auto dispatch, not sure why that is not a thing yet in GCC.

      Comment


      • #13
        Originally posted by ddriver View Post

        There's nothing preventing the compiler from targeting older SIMD implementations if your cpu doesn't support the most recent.

        Targeting what's essentially "SSE" in this day and age... quite backward.
        AVX512 ends up hurting performance in certain older cpus. It's only a clear win in recent generations, at least when talking about mixing it in here and there like the way a compiler would when automatically generating it for a general application - not hand-tuned code for HPC type applications that really need it.

        AVX2 is a more reasonable suggestion though.
        Last edited by smitty3268; 16 February 2024, 09:18 PM.

        Comment


        • #14
          Originally posted by ddriver View Post
          I'd rather see compilers auto vectorize to avx 512, Seems like most compilers still target 128 bit simd for auto vectorization.
          Have you seen the mess that is AVX-512 support? This is just a general overview, there are more devils hiding in the details:

          Last edited by Gonk; 16 February 2024, 09:45 PM.

          Comment


          • #15
            Well, it will be nice if they could at least leverage AVX/AVX2. Didn't linux make avx2 some kind of a baseline recently?

            Comment


            • #16
              Originally posted by bug77 View Post
              I don't get it. Is FreeBSD working on adding SIMD optimizations to libc? Or are they working on putting existing optimizations at work in FreeBSD?
              Not for sure Bug. I think the libc reference is to FreeBSD's libc. All OSes have a libc not just Linux's libc.

              Comment


              • #17
                Originally posted by Gonk View Post

                Have you seen the mess that is AVX-512 support?
                Thanks to the usual suspect. This is why my next CPU will be a Ryzen!

                Comment


                • #18
                  Nice to hear!

                  While not too much interested on FreeBSD as a desktop platform, I love to use it for some of my VMs and also appliances that are FreeBSD-based.

                  Hope next OPNSense release (24.7) makes use of this new libc improvements!

                  Comment


                  • #19
                    I find it unbelievable that they had no SSE till now.
                    Meanwhile glibc is already getting rid of some SSE versions/implementations: https://www.phoronix.com/news/Glibc-...ng-SSSE3-Paths

                    Comment

                    Working...
                    X