Jump to content

Direct X 12 - Work Graphs is finally in the wild! A salve for your tired CPU


Mr.Vic20

Recommended Posts

  • Mr.Vic20 changed the title to Direct X 12 - Work Graphs is finally in the wild! A salve for your tired CPU
3 minutes ago, stepee said:

I assume this is something devs need to program games around?

Sure sounds like it.

 

From the articles linked by the one in the OP:
 

Quote

 

    With the proliferation of GPU-driven rendering techniques – such as Nanite in Unreal Engine 5 – the role of the CPU is trending towards primarily resource management and hazard tracking, with only a fraction of time spent generating GPU commands. Prior to D3D12 Work Graphs, it was difficult to perform fine-grained memory management on the GPU, which meant it was practically impossible to support algorithms with dynamic work expansion. Even simple long chains of sequential compute work could result in a significant synchronization and memory overhead.

    GPU-driven rendering was accomplished by the CPU having to guess what temporary allocations were needed by the GPU, often over-allocating to the worst case, and using previous frame readback for refinement. Any workloads with dynamic expansion either meant issuing worst case dispatches from the CPU, having the GPU early out of unnecessary work, or non-portable techniques were used, like persistent threads.

    With Work Graphs, complex pipelines that are highly variable in terms of overall “shape” can now run efficiently on the GPU, with the scheduler taking care of synchronization and data flow. This is especially important for producer-consumer pipelines, which are very common in rendering algorithms. The programming model also becomes significantly simpler for developers, as complex resource and barrier management code is moved from the application into the Work Graph runtime.

    We have been advocating for something like this for a number of years, and it is very exciting to finally see the release of Work Graphs.

    — Graham Wihlidal, Epic Games

 


 

Quote

 

In June, Microsoft announced a major new D3D12 feature called Work Graphs. Have you looked into this preview yet? If so, what do you think about its potential applications in games?

Tatu Aalto, Lead Graphics Programmer, Remedy Entertainment: Work Graphs are the natural next step in moving heavy graphics work from CPU to GPU, and we are eagerly waiting for GPU-based work submission to be adapted on all the platforms we target. Communication between CPU and GPU has been a major performance cost in real-time applications like games for a long time already, and we saw a large performance gain in Alan Wake 2 when moving more computation to happen fully on GPU. Having more fine-grained control on GPU scheduling ensures that all the available GPU power can be wisely used. Exposing something like this is very fundamental and can be used in many algorithms we run in Northlight.

 

 

  • Thanks 1
Link to comment
Share on other sites

This makes me think of computation graphs for tensors computations/neural nets, which are not the most pleasant experience. But it's plausible this is either (a) not like that or (b) still better than the current situation :p 

  • Haha 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...