Announcement

Collapse
No announcement yet.

IBM Looks To Squeeze Support For Future Power "Dense Math" CPUs Into GCC 13

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

  • IBM Looks To Squeeze Support For Future Power "Dense Math" CPUs Into GCC 13

    Phoronix: IBM Looks To Squeeze Support For Future Power "Dense Math" CPUs Into GCC 13

    Back in November IBM engineers sent out compiler patches for "future" CPUs and notably added new dense math instructions. At the time they noted the new target "may or may not be present" in future IBM Power processors but now they are hoping to get these "future" patches squeeze into the GCC 13 compiler...

    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
    This sounds like even pre alpha.
    Why does this need to make it into mainline GCC?

    Comment


    • #3
      Originally posted by milkylainen View Post
      This sounds like even pre alpha.
      Why does this need to make it into mainline GCC?
      Because they want to have day-1 support for their new cpus.

      Comment


      • #4
        Originally posted by milkylainen View Post
        This sounds like even pre alpha.
        Why does this need to make it into mainline GCC?
        If they're at the stage where they're landing stuff like this, the processors must be much more baked than previously thought. they know what special extra units will be in them and what the instruction set and semantics look like. that also implies they have a pretty good idea what the transistor budget and floorplan of this chip looks like, otherwise they wouldn't be including them. there might be work still happening on other blocks of the CPU, but it tells us that work is already very well underway.

        Comment


        • #5
          Originally posted by aviallon View Post
          Because they want to have day-1 support for their new cpus.
          Your comment makes absolutely no sense. There is no CPU. There isn't even a definition for one.

          So you're saying they can't clone repos or maintain their own fork until it has matured enough for inclusion?
          Undefined "future" is a dumb idea in a mainline gcc.
          Maybe all CPU developers should start sending in all harebrain extensions and architectures before they have even materialized?

          A highly personal opinion. But I don't buy it.

          Comment


          • #6
            Originally posted by aviallon View Post
            Because they want to have day-1 support for their new cpus.
            IBM has a long history of trying to insure GCC can support new processor capabilities at release, even though they hide the name of the next processor behind a "future" label (although after power7, power8, power9, power10, there is a clear trend). In theory (based on some past time frames), Power11 (or whatever they decide to call it) would be expected to be formally announced sometime in 2024, which means IBM will have preliminary simulations and early silicon available soon enough and need to start on support in the OS and applications. Having GCC ready sooner, rather than later, is a plus for those efforts and their customers testing.

            Comment


            • #7
              Originally posted by milkylainen View Post

              Your comment makes absolutely no sense. There is no CPU. There isn't even a definition for one.

              So you're saying they can't clone repos or maintain their own fork until it has matured enough for inclusion?
              Undefined "future" is a dumb idea in a mainline gcc.
              Maybe all CPU developers should start sending in all harebrain extensions and architectures before they have even materialized?

              A highly personal opinion. But I don't buy it.
              IBM designs and specifies CPUs years in advance. POWER10 was well underway and POWER11 was specified when POWER9 shipped. IBM have been working on this chip for years and the launch date is probably as soon as 2024 and shipping in 2025, maybe 2026 if there are covid delays. (It's a little hard to predict, because covid made the POWER10 cycle a whole two years longer) POWER11 is currently far along development, especially considering they know exactly how the instruction sets for these added features work and are posting enablement patches for them. It implies the this stuff has been undergoing testing internally for quite some time.

              Maintaining their own fork is absolutely unthinkable. This compiler support needs to be in mainline, and then given time to reach all the distros that support POWER. This takes multiple years.

              For the time being having "future" is fine. It lets them post all this code and get it through review, which is the lengthiest part with the most timeline uncertainty. They can change the name later in a small bugfix release.​ People can specify "future" to GCC if their compiler doesn't have the name fix, technically all the way until POWER12 comes out.

              This is not the first time IBM has done this, and are absolutely not the only ones. Intel does it too. As linked in the article, back in 2019 when POWER9 had just come out IBM were already sending in patches for "future" CPUs which were swiftly renamed to "POWER10" as soon as they officially announced that chip. It meant that the code was more or less in place around the time the chip was announced and could be quickly renamed before silicon actually started shipping.
              Last edited by Developer12; 21 January 2023, 01:48 PM.

              Comment


              • #8
                Fair. You have convinced me that GCC folks do things differently.

                Comment

                Working...
                X