*This is a work in progress and should be viewed as such*



It's been several weeks since the Ashes of the Singularity benchmarks hit the PC Gaming scene and brought a new feature into our collective vocabulary. Throughout these past few weeks, there has been a lot of confusion and mis-information spreading throughout the web as a result of the rather complex nature of this topic. In an effort, to combat this misinformation, @GorillaSceptre asked if a new thread could be started in order to condense a lot of the information which has been gathered on the topic. This thread is my no means final. This thread is set to change as new information comes to light. If you have new information, feel free to bring it to the attention of the Overclock.net community as a whole by way of commenting on this thread.



As things stand right now, Sept 6, 2015, we're waiting for a new driver, from nVIDIA, to rectify an issue which has inhibited the Maxwell 2 series from supporting Asynchronous Compute. Both Oxide, the developer of the Ashes of the Singularity video game and benchmark, and nVIDIA are working hard to implement a fix to this issue. While we wait for this fix, lets take an opportunity to break down some misconceptions.







nVIDIA HyperQ





nVIDIA implement Asynchronous Compute through what nVIDIA calls "HyperQ". HyperQ is a hybrid solution which is part software scheduling and part hardware scheduling . While little information is available as it pertains to its implementation in nVIDIAs Maxwell/Maxwell 2 architecture, we've been able to piece together just how it works from various sources.





Now I'm certain many of you have seen this image floating around, as it pertains to Kepler's HyperQ implementation:

Warning: Spoiler! (Click to show)

Or thia updated one by Ext3h:

(Click to show)

two software components

Grid Management Unit Work Distributor

The developer marks up a command list This command list is sent to the nVIDIA software driver The nVIDIA software driver translates the commands into ISA The ISA commands are fed to a Grid Management Unit The Grid Management Unit transfers 32 pending grids (32 Compute or 1 Graphic and 31 Compute) to the Work Distributor The Work Distributor transfers the 32 Compute or 1 Graphic and 31 Compute tasks to the SMMs which are a hardware component within the nVIDIA GPU. The components within the SMMs which receive the tasks are called Asynchronous Warp Schedulers and they assign the tasks to available CUDA cores for processing.

Quote: That's all fine and dandy but why doesn't it work?

(Click to show)

Quote: What is preemption?

(Click to show)

(Click to show)

Quote: What is Slow Context Switching?

Quote: Why is this different than GCN?

(Click to show)

Quote: What does this mean for gaming performance?

Quote: It's architectural? How so?

(Click to show)

(Click to show)

Quote: Well that's GCN's architecture... What about Maxwell 2 and that Slow Context Switching thing?

(Click to show)

We'll even get a few titles in a few months in 2015

(Click to show)

(Click to show)

(Click to show)