DX12 Performance Discussion And Analysis Thread

Discussion in 'Rendering Technology and APIs' started by A1xLLcqAgt0qc2RyMz0y, Jul 29, 2015.

  1. 3dilettante

    Legend Alpha

    Joined:
    Sep 15, 2003
    Messages:
    8,579
    Likes Received:
    4,799
    Location:
    Well within 3d
    Does this mesh with Futuremark's description of its multi-queue process?

    http://www.futuremark.com/pressreleases/a-closer-look-at-asynchronous-compute-in-3dmark-time-spy

     
  2. Ext3h

    Regular

    Joined:
    Sep 4, 2015
    Messages:
    428
    Likes Received:
    497
    Almost. But I think the PR folks at Futuremark fell into the same trap we did:
    As soon as the driver reports "I can't do any more queues of this type" (simplified, I don't know whether this is queried at device initialization or at run time), the compatibility layer takes over. Its not even in the control of the driver to influence scheduling.
     
  3. 3dilettante

    Legend Alpha

    Joined:
    Sep 15, 2003
    Messages:
    8,579
    Likes Received:
    4,799
    Location:
    Well within 3d
    I am not sure Futuremark is the one most likely to be mistaken.
    The press release itself explicitly discusses the role the OS plays with the CPU task scheduler, and then gives the analogous role for graphics to the driver.

    Would it be possible to clarify what the term "scheduling" refers to? Is it the specific order of commands issuing on the GPU, which Futuremark describes as the purview of the driver and hardware? Futuremark disavows any ability on the part of the application to "schedule" command list execution, for whatever meaning they are using.
    What obligation does the OS have to step in and emulate the driver if the driver cannot perform its function of tracking its queues? What is the emulation layer going to talk to as an intermediary between the OS and the hardware if the driver has fallen down?
     
    ieldra likes this.
  4. Kwee

    Newcomer

    Joined:
    Sep 1, 2015
    Messages:
    17
    Likes Received:
    4
    Since new branch drivers (21.19.XXX.XX) AMD disable Async compute on old GCN architecture, making artificialy new GCN architecture shiny.

    I started to suspect something is wrong when Nixxes(which port the PC version of Rise Of The Tomb Raider) stated that they enable Async Compute on GCN 1.1 and superior.

    Someone ask AMD about that and why GCN 1.0 can't run Total War Hammer in DirectX 12 mode. The Answer ? Ask the devs...

    https://community.amd.com/thread/202794

    AMD Drivers 15.7.1 and inferior to 16.9.2
    Compute only:
    1. 49.01ms

    Graphics only: 47.38ms (35.41G pixels/s)

    Graphics + compute:
    1. 49.12ms (34.16G pixels/s)

    Async Compute works !

    AMD Drivers superior to 16.9.2

    Compute only:
    1. 45.25ms

    Graphics only: 47.14ms (35.59G pixels/s)

    Graphics + compute:
    1. 92.39ms (18.16G pixels/s)

    Async Compute broken !

     

    Attached Files:

  5. I guess it's a sign that GCN 1.0 GPUs are starting to be phased out in regards to driver optimizations...

    Truth be told, those GPUs will be turning 5 years in a month.
     
  6. sebbbi

    Veteran

    Joined:
    Nov 14, 2007
    Messages:
    2,924
    Likes Received:
    5,296
    Location:
    Helsinki, Finland
    Radeon 7970 was quite popular. I still use one frequently for testing. 7970 GE is very close to RX 470 in compute performance. Geometry performance of course is much worse, but our game doesn't render triangles. I wonder whether Vulkan async compute still works on GCN 1.0. AMD themselves recommend to use just one compute queue (on PC). GCN 1.0 queue count isn't the limiting factor here. IIRC somebody in B3D forums said that GCN 1.0 can't run the same microcode for ACEs as there's not enough room. Maybe there's load balancing issues or some other bugs and the new code just doesn't fit in GCN 1.0. This is very unfortunate if true, since 7970 is still widely used. Async compute would have extended its lifetime a bit, especially in compute heavy games like ours.

    Update: GCN 1.0 also used in products such as Radeon R9 270, 270X, 280, 280X, 370, 370X. That's plenty of relevant GPUs.
     
    #1606 sebbbi, Dec 6, 2016
    Last edited: Dec 6, 2016
    Kej, dogen, Razor1 and 3 others like this.
  7. I'm not suggesting AMD dropping optimizations for GCN 1.0 cards is a good thing, on the contrary. But you have to wonder how much longer could the current limited-resources AMD keep investing time and money on optimizing the drivers for GPUs that were sold 3-5 years ago. There is a real driver effort happening at AMD, but they do have to choose their battles wisely.

    Tahiti and Pitcairn's longevity is really the odd duck here. And it's that same odd longevity that still make them relevant GPUs.
    For example, who exactly is still very worried about the performance optimizations on 1st-gen Kepler cards like the GTX 680 or the GTX 660 (both were the original competitors to Tahiti and Pitcairn, respectively)?
     
    digitalwanderer likes this.
  8. Rodéric

    Rodéric a.k.a. Ingenu
    Moderator Veteran

    Joined:
    Feb 6, 2002
    Messages:
    4,080
    Likes Received:
    997
    Location:
    Planet Earth.
    Fortunately with the coming of low level API AMD won't have too spend that much effort on drivers anymore, and it will at last reveal each vendor hardware quality.
     
    digitalwanderer likes this.
  9. lanek

    Veteran

    Joined:
    Mar 7, 2012
    Messages:
    2,469
    Likes Received:
    315
    Location:
    Switzerland
    Im not quite sure its related to "compute" as used in this benchmark, but OpenCL compute is completely broken on last AMD drivers anywaay.. it can be shown by using Cycles ( Blender render internal) or Luxrender ( many problem with the viewport render and when you do multiples render in follow. So we have need to advice peoples to revert back to old drivers ( i use 2x 7970, but the problem seems happend on some newer series anyway ).

    ( well we was imagine it was based on OpenCL, but could be something else )
     
  10. fellix

    Veteran

    Joined:
    Dec 4, 2004
    Messages:
    3,552
    Likes Received:
    514
    Location:
    Varna, Bulgaria
    GCN 1.0 still occupies a large user base within AMD's own market share, not without the contribution of the Bitcoin mining boom few years ago, that caused large circulation of second hand boards to flood the market.
    I can only image how AMD would wish to flush out this lump of first gen GCN.
     
  11. sebbbi

    Veteran

    Joined:
    Nov 14, 2007
    Messages:
    2,924
    Likes Received:
    5,296
    Location:
    Helsinki, Finland
    Many stores still sell brand new R9 370X today. It is a GCN 1.0 part. You expect full support when you buy a new (1 gen old) card.
     

  12. Pitcairn cards should have been completely replaced by Polaris 11 models by now, but let's all agree to one thing here: Pitcairn being in the 300 series was really stretching the GPU's life a lot beyond what it should have been. I don't know if there ever was another GCN GPU for that performance bracket. Maybe there was one for 20nm, but since both major IHVs decided to can all their 20nm solutions, leaving aside a Pitcairn successor may have been a possibility.

    That said, it's not like any of these games have stopped working for GCN 1.0. It's just that AMD seems to have stopped dedicating the same amount of time at optimizing driver code to games for 1st-gen GCN GPUs.
    Will the 370X-equipped end user ever notice any difference, even in TW: Warhammer, with the new driver?
    As seen before, Creative Assembly's DX12 implementation in TW: Warhammer didn't exactly break any records in performance boosts. Like most other implementations so far, it seems to be a port made to ramp up QA and customer feedback for future titles.
    Which makes us go back to AMD having to carefully choose their battles, and with the Vega cards and also Zen APUs with Vega iGPUs coming up, someone at AMD may have decided it was time to allocate the efforts towards those. And the caveat was to stop supporting all the latest features in cards using their old chips.

    I too wish all features and full potential performance could be squeezed out of older cards for many, many years, but AMD is choking and the last thing they want is a Vega family launch with poorly developed drivers.
     
  13. Alessio1989

    Regular

    Joined:
    Jun 6, 2015
    Messages:
    614
    Likes Received:
    321
    GCN 1.0 Tahiti (7900s 8900s, 280s) is still such a lovely piece of silicon for FP64 :D

    Hope AMD do not kill GCN 1.0 support soon, I have planes for my previous GPU ( ͡° ͜ʖ ͡°)
     
  14. DavidGraham

    Veteran

    Joined:
    Dec 22, 2009
    Messages:
    3,976
    Likes Received:
    5,213
    I think that was expected, after all it happened before (ie, Mantle games not working on newer hardware), when you go lower, you risk the chance of introducing incompatibilities or dividing optimization efforts on too many fronts. I think developers themselves don't bother optimize Async Compute for (GCN 1.0). Restricted to Windows 10, DX12 install base is still relatively small compared to DX11 and DX10, add to that people with AMD GPUs and the number gets smaller (as a result of their smaller market share), it gets even smaller adding GCN 1 GPUs to the mix. DX12 is hard work enough already on developers, perhaps their code doesn't offer that much impact on GCN 1 anyway, so they choose to put their effort where it matters the most. .
     
  15. Alessio1989

    Regular

    Joined:
    Jun 6, 2015
    Messages:
    614
    Likes Received:
    321
    Just remember that by a developer, GCN 1 vs GCN 2 is just all about multi-sampling (well, min-max filters) on tiled resources and nothing more... But I guess AMD will not add SM 6.0 optional support.
     
  16. swaaye

    swaaye Entirely Suboptimal
    Legend

    Joined:
    Mar 15, 2003
    Messages:
    9,044
    Likes Received:
    1,116
    Location:
    WI, USA
    It is about the 1 year anniversary of their previous canning of all DirectX 11 GPUs and APUs. Errr I mean "legacy" status. Time for another round of "retirements".
     
  17. Kwee

    Newcomer

    Joined:
    Sep 1, 2015
    Messages:
    17
    Likes Received:
    4
  18. But for a consumer, it's the lack of FreeSync. And that's a huge deal IMO.
    Not to mention:

     
  19. MDolenc

    Regular

    Joined:
    May 26, 2002
    Messages:
    696
    Likes Received:
    446
    Location:
    Slovenia
    That's not visible to users or even developers (ACE microcode). Unless you're writing your own linux drivers...
     
  20. Alessio1989

    Regular

    Joined:
    Jun 6, 2015
    Messages:
    614
    Likes Received:
    321

    I don't have AOS, however on my R9 280 (Tahiti GCN v1), I got small performance gains running pure compute workloads on a separate compute queue in concurrency with the default queue. So no, AMD didn't (completely at lest) broke/deactivate anything.
    Probably it is just a hardware discrimination made by AOS (a simple filter could be the AMD vendor ID + FL 12_0 support, which exclude all GCN 1 GPUs ).
    On the last Unreal Engine (4.14) version, "async. compute" is still discriminated by AMD vendor Id only (so they do not look for NVIDIA Pascal GPUs at all).
     
    #1620 Alessio1989, Dec 7, 2016
    Last edited: Dec 7, 2016
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...