Latency issues

By: David Kanter (dkanter.delete@this.realworldtech.com), May 2, 2012 12:01 pm
Room: Moderated Discussions
hcl64 (mario.smarq@gmail.com) on 5/1/12 wrote:
---------------------------
>David Kanter (dkanter@realworldtech.com) on 4/30/12 wrote:
>---------------------------
>>hcl64 (mario.smarq@gmail.com) on 4/30/12 wrote:
>>---------------------------
>>
>>>IF i'm not mistaken the majority of XOP is Integer (3 >operand) total pack has more
>>>than one hundredth instructions defined, i think.
>>>
>>>Perhaps integer fusing could be also a good thing.
>>
>>Doubtful. The latency would also kill you.
>>
>>David
>
>Perhaps there are ways to mitigate the latency upon a kind of decoupled access-execute
>which BD with its so called co-processor oriented Flex ?>Units seems to trail, and instruction fusing...

Latency kills performance for CPUs, in a major way. Higher latency means your instruction window is effectively smaller, forwarding is more challenging, etc.

There really isn't any good way to hide the latency. Just think about code where you are branching based on the result of an FP computation.

Moreover, the idea of offloading from an integer core to a GPU is especially silly when you consider the frequency difference. Bulldozer can run at around 3-4GHz. AMD's integrated GPUs run at around 400MHz or so. The clock domain crossing along would add a ridiculous amount of latency.

The Bulldozer FPU uses the load/store pipes from the integer cores, because it fully obeys x86 semantics. That's not the case for GPUs. There's really no reason you'd want to share the LSU between GPUs and CPUs. The address calculation is totally different, the TLBs are different, the memory ordering model is totally different, etc.

You cannot replace the x86 FPU with a GPU. x86 needs x87 FP, which isn't available in any GPU. It also needs lower latency than is available through a GPU and support for all MMX, SSE, AVX instructions. With branch prediction, the FPU also has to be able to rollback to an earlier state. GPUs don't really have any facilities for speculative execution, since branches are either predicated or halt execution (while the GPU core switches to another thread). GPUs simply don't have all these features, nor would it be wise to add some of them.

So the CPU core still needs a regular FPU. At that point, you are better off with the GPU as a separate block. It runs at a different clock, with different voltage, with it's own load/texture pipelines, power management and so forth.

i.e. it's really just another part of the SoC...not a coprocessor really.


[snip]

Are you just copying and pasting from a patent? What was that text?

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