Announcement

Collapse
No announcement yet.

Linux Might Pursue x86_64 Micro-Architecture Feature Levels

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

  • Linux Might Pursue x86_64 Micro-Architecture Feature Levels

    Phoronix: Linux Might Pursue x86_64 Micro-Architecture Feature Levels

    Stemming from the recent GNU glibc work on better handling modern CPU optimizations with newer instruction set extensions across Intel and AMD product families, the concept of x86-64 micro-architecture feature levels is being talked about by open-source/Linux developers...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Let's hope that this won't take another decade to see the light in distributions. I'd very much like to see a Level C fully optimized distribution build.

    Comment


    • #3
      i thought that compilers handles these scenarios based on what feature you specify.
      does this mean they will have a kernel for each category?

      Comment


      • #4
        Originally posted by ms178 View Post
        Let's hope that this won't take another decade to see the light in distributions. I'd very much like to see a Level C fully optimized distribution build.
        Use gentoo :-D

        Comment


        • #5
          Given that Intel is moving to hybrid processors (e.g., wimpy Atoms + fast Xeons on a die), this is kinda' necessary.

          Comment


          • #6
            Requiring AVX2 would be to high for Red Hat. At a big automotive company I worked, most dev machines had 2nd and 3rd gen i5/i7 CPUs(old Dell Machines that are bought once and used forever) - that's tens of thousands of machines that wouldn't be compatible, at least at that company.

            Comment


            • #7
              Originally posted by loganj View Post
              i thought that compilers handles these scenarios based on what feature you specify.
              does this mean they will have a kernel for each category?
              I believe this is less about the compiler and more about the library loader at runtime.

              Instead of an operating system or application coming with libraries with broad compatibility - they will come with library.so.level_a (I have not read the proposal, the real names will be different or there will be folders), level_b, level_c and level_d. The linux library loader/linker will check CPU capabilities to see which level the CPU is, and load in the appropriate library, without any special application support at all.

              The compiler should, IMO, therefore be building all four versions of the library once this becomes finalised. Some of the built libraries will gain nothing over a lower level, so they can be left out.

              A decent OS installer and application installer could dump the libraries that aren't needed at install time, if it's not installing on portable media. If you're installing on a fixed SSD on an icelake system, then keep only the level_d binaries and libraries.

              When running on Alder Lake with CPU cores with different ISA levels, you couldn't do load time library selection and linking in case your application migrated down, so maybe this system also has a run-time dynamic relinking capability.

              Comment


              • #8
                Originally posted by Alliancemd View Post
                Requiring AVX2 would be to high for Red Hat. At a big automotive company I worked, most dev machines had 2nd and 3rd gen i5/i7 CPUs(old Dell Machines that are bought once and used forever) - that's tens of thousands of machines that wouldn't be compatible, at least at that company.
                Actually, if this is done right there will be no incompatibility, it would be something akin to multilib where the correct binaries would be used for each case. As vladpetric mentioned, it should be ideal for hybrid systems. Hopefully this can be then expanded to all architectures later on.

                Comment


                • #9
                  I think AVX, or level B in that proposal, would be fine for the next Redhat. AVX2 is a little too soon in my opinion. Yes for Intel AVX2 has been a Haswell deal, but AMD processors only got AVX2 with Ryzen 3 years ago. Plenty of Bulldozer family cpus are still being used. And even not all Intel users have AVX2 even today. The original AVX goes a few years back for Intel, and a lot of years back for AMD, and in my opinion is the sweet spot right now. Level A seems old in 2020, those non AVX cpus are more than a decade old at this point. A decade+ is a nice cutoff point, not too steep but not too old either.

                  In any case, i am all for modernizing cpu-feature support. It is about time.

                  Comment


                  • #10
                    This is probably meant as an alternative to higher minimum hardware requirements. So that Red Hat would not have to raise them.

                    Comment

                    Working...
                    X