Bulldozer's integer execution units

By: Exophase (exophase.delete@this.gmail.com), April 26, 2012 5:24 pm
Room: Moderated Discussions
EduardoS (no@spam.com) on 4/26/12 wrote:
>Ok, AGUs calculate addresses, load are listed as using EX units, the conclusion is quite obvious, don't you think?

Of course I think it's obvious, but there's no reasonable excuse for the SOG to omit it. The point is that it can't be a very reliable document if it omits something so fundamental.

>Not in that context, the discussion isn't exactly about how many units BD have
>but how they are arranged or how they work, and they seens to work exactly like in previous uarch.
>If you had read my posts you would know that I think the number of units is too
>few and isn't even theorically enough to match SB single thread IPC wich is above
>2 in many workloads, but you prefered to ignore the context and reach another conclusion.

Okay, I misunderstood your tone - I thought that you were saying that the overall execution arrangement in BD was fine as it was unchanged from K10, not merely the individual AGU/ALU pairs. I agree with your sentiments on this, although the K8 arrangement wasn't necessarily ideal (honestly I couldn't really say). Please don't take this misunderstanding to mean that I didn't read your posts or willingly ignored your point.

>BTW, if the AGUs were able to perform loads without the need of ALUs and also a
>few simple instructions the execution width would also be enough and Bulldozer exceed
>Greyhound in IPC, this independence of units was repeat a lto by John Fruehe and
>many others with some claiming BD could sustain four instruction per clock on a
>single thread, more and more those claimings looks like myths.

Agner Fog's documentation indicates that the AGUs can perform loads without issuing to the EX ports, and David said that he doesn't see why this would not be the case - can you think of anything, outside of the questionable SOG suggesting it? Have you perhaps tested it personally?

This scenario by itself is certainly not enough to exceed peak integer IPC per core ahead of K10. In theory average IPC should have increased because of better load/store re-ordering capabilities and a deeper/unified OoO window. But it's difficult to predict the impact of such a thing. Average IPC is also negatively impacted by worse cache latencies and branch mispredict penalties.

>Also the independence between ALUs and AGUs would make the forwarding network more
>complex reducing the clock speed, maybe even more complex and slower than the "oversized"
>3 ALUs + 3 AGUs in previous uarch.

>And finally, compared to previous uarch BD IPC only dropped a little, even increasing
>in some workloads (wich happens to be memory subsystem - are you the annoying anon
>wich require every detail explicit in every sentence? - intensive) while execution
>resources dropepd a lot and latencies increased a lot, one possible reason is a huge improvement in the memory subsytem.

I'd say the IPC drop was often fairly significant, but of course BD did improve other things over K10 (those I mentioned, and others like branch fusion, and if your workload supports it, FMA and XOP.. FP being a different story altogether)

No, I'm not "the annoying anon", why would I post with two different handles? I haven't really been able to determine whether or not you're including cache performance in your assessment of memory hierarchy performance (everyone else does) but if so, I can't see how you couldn't consider the small L1 and 20 cycle L2 caches to be to BD's detriment.

If you only mean the performance of main memory, the L2 and L3 latencies pile on for the main memory latency, and BD doesn't do much to improve bandwidth.

Or maybe by memory subsystem you mean the load/store units themselves? Because that is indeed where BD has improved. If this is what you mean then I think we have a communication problem.

>The only guy who did a detailed enough analyse agrees that the memory subsystem
>is fine, everyone else saw little performance difference make no effort to find
>bottlenecks and concluded that "it must be because of L2 latency since the avarage
>IPC is about one so it doesn't matter if you have two or three units"...
>ps: How long since I heard for the first time "avarage IPC is about"? Maybe ten years?

I agree that the popular argument, "average IPC is < 1 so we don't need as much execution width" is very poor. But why would the performance impact be limited to only the execution width or the memory subsystem and never both?

Do you really think that going from ~12 to ~20 cycles L2 latency while not increasing the clock speeds nearly as much carries zero penalty? And that going from 64KB L1 at 3 cycles to 16KB L1 at 4 cycles, albeit more associative, isn't going to hurt some workloads? Who is this person who did the only detailed enough analysis to lead you to this conclusion?
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Phoronix tests GCC compiler flags and Bulldozer.I.S.T.2012/04/19 02:05 AM
  Single page view?David Kanter2012/04/19 07:59 AM
    Single page view?wainwright2012/04/19 08:22 AM
    Single page view?slothrop2012/04/19 08:23 AM
      Single page view?David Kanter2012/04/19 08:31 AM
        Single page view?EduardoS2012/04/19 02:12 PM
    Is there a single page view option for RWT articles?anon2012/04/19 08:27 AM
    Single page view?Del2012/04/19 08:36 AM
      Single page view?slacker2012/04/19 02:56 PM
        Single page view?Del2012/04/22 05:09 AM
          Single page view?David Kanter2012/04/22 08:38 AM
            Single page view?Del2012/04/23 12:22 AM
    Single page view?Michael S2012/04/19 12:30 PM
      Single page view?Ungo2012/04/19 01:25 PM
        Single page view?Foo_2012/04/19 11:17 PM
          Single page view?James2012/04/20 03:01 AM
            There are ads on the web?JJB2012/04/20 03:32 AM
              What a bunch of freeloaders (NT)slacker2012/04/20 12:44 PM
                So are you, probablyiz2012/04/21 03:41 AM
                  Impression ad revenuePaul A. Clayton2012/04/21 05:44 AM
                  So are you, probablyslacker2012/04/21 12:09 PM
                    So are you, probablyDavid Kanter2012/04/22 08:41 AM
                      So are you, probablyiz2012/04/22 02:57 PM
                    So are you, probablyDoug Siebert2012/04/22 11:37 AM
                      Aha!David Kanter2012/04/22 02:45 PM
                        Aha!bakaneko2012/04/22 07:49 PM
                    So are you, probablyiz2012/04/22 02:48 PM
                      That's not how the business works...David Kanter2012/04/22 04:31 PM
                        That's not how the business works...iz2012/04/23 12:49 AM
                      So are you, probablyslacker2012/04/22 10:31 PM
                        back to phoronixMichael S2012/04/23 01:07 AM
                        So are you, probablyiz2012/04/23 02:29 AM
                          Membership at RWTDavid Kanter2012/04/23 10:24 AM
                          So are you, probablyJukka Larja2012/04/27 07:59 AM
  So, what do people think of these numbers>I.S.T.2012/04/19 06:34 PM
    So, what do people think of these numbers>Linus Torvalds2012/04/20 07:34 AM
      So, what do people think of these numbers>Kira2012/04/20 08:18 AM
        So, what do people think of these numbers>Linus Torvalds2012/04/20 09:05 AM
      So, what do people think of these numbers>Doug Siebert2012/04/20 08:00 PM
      So, what do people think of these numbers>Megol2012/04/21 08:05 AM
        So, what do people think of these numbers>Linus Torvalds2012/04/21 12:11 PM
          Most problems are fixed...Megol2012/04/24 06:00 AM
    So, what do people think of these numbers>bakaneko2012/04/20 10:16 AM
      So, what do people think of these numbers>bakaneko2012/04/20 10:37 AM
        So, what do people think of these numbers>Linus Torvalds2012/04/20 12:24 PM
          So, what do people think of these numbers>Joel2012/04/20 01:59 PM
            So, what do people think of these numbers>Kira2012/04/20 02:32 PM
              So, what do people think of these numbers>EduardoS2012/04/20 03:00 PM
                Bulldozer's Oddities.Joel2012/04/20 03:54 PM
                  In defense of Bulldozer's OdditiesDavid Kanter2012/04/20 04:32 PM
                    In defense of Bulldozer's OdditiesExophase2012/04/20 06:11 PM
                      In defense of Bulldozer's OdditiesEduardoS2012/04/20 06:46 PM
                        In defense of Bulldozer's OdditiesExophase2012/04/20 07:18 PM
                          In defense of Bulldozer's Odditiesanonymous2012/04/20 10:26 PM
                            In defense of Bulldozer's OdditiesJJB2012/04/20 10:34 PM
                              In defense of Bulldozer's Odditiesimaxx2012/04/21 06:21 AM
                                In defense of Bulldozer's OdditiesMichael S2012/04/21 09:42 AM
                                  Bulldozer's integer execution unitsDavid Kanter2012/04/25 03:29 PM
                                    Bulldozer's integer execution unitsExophase2012/04/26 11:17 AM
                                      Bulldozer's integer execution unitsanonymous2012/04/26 02:15 PM
                                        Bulldozer's integer execution unitsEduardoS2012/04/26 02:40 PM
                                          Bulldozer's integer execution unitsFoo_2012/04/27 07:21 AM
                                            Bulldozer's integer execution unitsMegol2012/04/27 12:38 PM
                                      Bulldozer's integer execution unitsEduardoS2012/04/26 02:47 PM
                                        Bulldozer's integer execution unitsExophase2012/04/26 04:02 PM
                                          Bulldozer's integer execution unitsEduardoS2012/04/26 05:03 PM
                                            Bulldozer's integer execution unitsExophase2012/04/26 05:24 PM
                                              Bulldozer's integer execution unitsEduardoS2012/04/26 06:18 PM
                                                Bulldozer's cache memory performanceHeikki Kultala2012/04/28 12:18 AM
                                                  Bulldozer's cache memory performanceEduardoS2012/04/28 09:06 AM
                                      Bulldozer's integer execution unitsDavid Kanter2012/04/26 03:03 PM
                                        Bulldozer's integer execution unitsExophase2012/04/26 03:59 PM
                                          Bulldozer's integer execution unitsDavid Kanter2012/04/26 09:53 PM
                                            Bulldozer's integer execution unitsExophase2012/04/27 07:42 AM
                                              Bulldozer's integer execution unitsDavid Kanter2012/04/27 10:06 AM
                                                Bulldozer's integer execution unitsEduardoS2012/04/27 12:27 PM
                                                K8 divided pipelines?Paul A. Clayton2012/04/27 12:59 PM
                                          Bulldozer's integer execution unitsMichael S2012/04/27 03:37 AM
                                            Bulldozer's integer execution unitsExophase2012/04/27 07:33 AM
                                            Bulldozer's integer execution unitsanonymous2012/04/27 08:03 AM
                                    Renaming FlagsKonrad Schwarz2012/04/27 02:04 AM
                                      Renaming Flagsnone2012/04/27 03:03 AM
                                        Renaming FlagsMegol2012/04/27 11:42 AM
                                    Bulldozer's integer execution unitshcl642012/04/27 03:31 PM
                                      VEX supports 3+ operands. FPU have renaming already(NT)Megol2012/04/28 07:20 AM
                              In defense of Bulldozer's OdditiesLinus Torvalds2012/04/21 11:26 AM
                                Thanks for the lessonJJB2012/04/21 01:23 PM
                                  Side note..Linus Torvalds2012/04/21 01:57 PM
                            In defense of Bulldozer's OdditiesExophase2012/04/21 11:13 AM
                            In defense of Bulldozer's OdditiesEduardoS2012/04/21 11:53 AM
                    In defense of Bulldozer's OdditiesGionatan Danti2012/04/21 11:42 AM
                    In defense of Bulldozer's Odditieshcl642012/04/27 04:07 PM
                      In defense of Bulldozer's OdditiesDavid Kanter2012/04/28 05:29 AM
                        In defense of Bulldozer's Odditieshcl642012/04/28 01:44 PM
                          In defense of Bulldozer's OdditiesDavid Kanter2012/04/28 08:42 PM
                            In defense of Bulldozer's Odditieshcl642012/04/28 09:39 PM
                  Bulldozer's Oddities.EduardoS2012/04/20 05:05 PM
                    Bulldozer's Oddities.anon2012/04/20 07:32 PM
                      Bulldozer's Oddities.EduardoS2012/04/21 11:37 AM
                        Bulldozer's Oddities.anon2012/04/21 09:16 PM
                          Bulldozer's Oddities.EduardoS2012/04/21 09:43 PM
                            Bulldozer's Oddities.anon2012/04/22 01:09 AM
                              Bulldozer's Oddities.EduardoS2012/04/22 12:57 PM
                                Bulldozer's Oddities.anon2012/04/22 03:17 PM
                                  Bulldozer's Oddities.EduardoS2012/04/22 04:05 PM
                                    Bulldozer's Oddities.anon2012/04/22 04:42 PM
                                      Bulldozer's Oddities.anon2012/04/22 05:01 PM
                                      Bulldozer's Oddities.EduardoS2012/04/22 09:28 PM
                                        Bulldozer's Oddities.anon2012/04/22 10:05 PM
                  Bulldozer's isn't bad.a reader2012/04/21 09:01 AM
                    Bulldozer's isn't bad.Kira2012/04/21 10:29 AM
                      Bulldozer's isn't bad.hcl642012/04/27 04:58 PM
                        Bulldozer's isn't bad.anon2012/04/27 05:16 PM
                          Bulldozer's isn't bad.hcl642012/04/27 06:33 PM
                            Bulldozer's isn't bad.rwessel2012/04/27 10:12 PM
                        Bulldozer's isn't bad.EduardoS2012/04/28 08:29 AM
                          Bulldozer's isn't bad.EduardoS2012/04/28 08:30 AM
                          Bulldozer's isn't bad.Michael S2012/04/28 11:36 AM
                    Bulldozer is made for SPEC fpPelle-482012/04/21 10:41 AM
                  Bulldozer's Oddities.mpx2012/04/22 02:47 AM
                    Bulldozer's Oddities.EduardoS2012/04/22 12:57 PM
                      Bulldozer's Oddities.mpx2012/04/23 06:04 AM
                        Bulldozer's Oddities.Eric2012/04/23 11:33 AM
                          Bulldozer's Oddities.EduardoS2012/04/23 01:22 PM
                            Bulldozer's Oddities.Eric2012/04/23 06:30 PM
                              Bulldozer's Oddities.hcl642012/04/27 05:16 PM
                            Bulldozer's Oddities.Y2012/04/25 03:34 AM
                              Bulldozer's IDIVHeikki Kultala2012/04/27 09:56 PM
                                Bulldozer's IDIVY2012/04/30 12:51 AM
                                  Bulldozer's IDIVEduardoS2012/04/30 04:39 AM
                                    Bulldozer's IDIVP3Dnow2012/05/08 12:23 AM
                                      Bulldozer's IDIVExophase2012/05/08 06:37 AM
                        Bulldozer's Oddities.EduardoS2012/04/23 01:15 PM
              Clustered MT as SMT for high frequencyPaul A. Clayton2012/04/20 03:10 PM
                Clustered MT as SMT for high frequencyhcl642012/04/27 11:56 PM
                  Clustered MT as SMT for high frequencyanonymous2012/04/28 12:43 AM
                    Clustered MT as SMT for high frequencyhcl642012/04/28 01:59 PM
                      Clustered MT as SMT for high frequencyanonymous2012/04/28 07:45 PM
                  Clustered MT as SMT for high frequencyanon2012/04/28 01:13 AM
                    Clustered MT as SMT for high frequencyhcl642012/04/28 02:23 PM
                      Clustered MT as SMT for high frequencyanon2012/04/28 05:19 PM
                        Clustered MT as SMT for high frequencyhcl642012/04/28 06:58 PM
                  Clustered MT as SMT for high frequencyDavid Kanter2012/04/28 05:38 AM
                    Guessed meaning of "strong dependency model"Paul A. Clayton2012/04/28 06:24 AM
                      Guessed meaning of "strong dependency model"EduardoS2012/04/28 08:46 AM
                        *Right meaning* about "strong dependency model"hcl642012/04/28 03:59 PM
                    Clustered MT as SMT for high frequencyhcl642012/04/28 03:24 PM
                      Clustered MT as SMT for high frequencyanonymous2012/04/28 07:50 PM
                        Clustered MT as SMT for high frequencyhcl642012/04/28 08:47 PM
                          SNB widthDavid Kanter2012/04/28 08:48 PM
                            SNB widthhcl642012/04/29 01:24 AM
                      Clustered MT as SMT for high frequencyDavid Kanter2012/04/28 08:56 PM
                        Clustered MT as SMT for high frequencyhcl642012/04/28 10:44 PM
                          SOI, FD vs. PDDavid Kanter2012/04/29 06:19 AM
                            SOI, FD vs. PDhcl642012/04/29 04:31 PM
                              SOI, FD vs. PDDavid Kanter2012/04/29 10:26 PM
                                SOI, FD vs. PDhcl642012/04/30 07:08 AM
                                  SOI, FD vs. PDDavid Kanter2012/04/30 08:59 AM
                                    SOI, FD vs. PDhcl642012/04/30 05:10 PM
                                      SOI, FD vs. PDDavid Kanter2012/04/30 05:32 PM
                                        SOI, FD vs. PDhcl642012/04/30 09:47 PM
                                          SOI, FD vs. PDDavid Kanter2012/05/01 01:24 AM
                                            SOI, FD vs. PDhcl642012/05/01 04:46 AM
                                            SOI, FD vs. PDhcl642012/05/01 05:37 AM
                                              SOI, FD vs. PDDavid Kanter2012/05/01 07:19 AM
                                          SOI, FD vs. PDhcl642012/05/01 06:39 AM
                                            PD-SOIDavid Kanter2012/05/02 11:22 AM
                                    SOI, FD vs. PDslacker2012/04/30 07:10 PM
                                      SOI, FD vs. PDDavid Kanter2012/04/30 09:16 PM
                                        SOI, FD vs. PDslacker2012/05/01 09:04 PM
                                          SOI, FD vs. PDDavid Kanter2012/05/02 07:19 AM
                                            SOI, FD vs. PDzou2012/05/02 11:23 AM
                  Previous discussion of clustered MTPaul A. Clayton2012/04/28 06:00 AM
                    Previous discussion of clustered MThcl642012/04/28 08:38 PM
                      Previous discussion of clustered MTDavid Kanter2012/04/30 03:37 PM
                        Previous discussion of clustered MThcl642012/04/30 06:24 PM
                          Previous discussion of clustered MTDavid Kanter2012/04/30 06:40 PM
                            Previous discussion of clustered MThcl642012/05/01 08:15 AM
                              Latency issuesDavid Kanter2012/05/02 11:01 AM
              So, what do people think of these numbers>Megol2012/04/21 12:57 AM
Reply to this Topic
Body: No Text
How do you spell tangerine? 🍊