Oxide: Maxwell GPUs don’t really support asynchronous compute
Nvidia cards with Maxwell GPUs don’t really support asynchronous compute, claims the developer of Ashes of the Singularity. According to the Nvidia driver, the feature should work, but the performance in the DX12 game would indicate the opposite.
Ashes of the Singularity is a recently released alpha-stage game that supports DirectX 12 functionality. When using an internal benchmark, developer Oxide ran into a problem with Nvidia cards based on the Maxwell architecture. This prompted developers to disable asynchronous compute, a feature that DirectX 12 can take advantage of, when using those cards.
On the Overclock.net forum, the developer claims that Nvidia’s drivers reported support for the feature. “But attempts to use it were disastrous in terms of performance, so we disabled it on their hardware. As far as I know, Maxwell doesn’t support asynchronous compute, so I don’t know why the driver tried to address that.” It is not known whether the cards really do not support the technology, or whether the problem must be sought in the drivers or elsewhere.
Nvidia initially blamed the performance issues for bugs in the msaa implementation, but Oxide denies this. According to the developer, these should also be visible in DX11 benchmarks and implementing DX12 functionalities would have no influence on this. According to the Oxide developer, Nvidia would also have pressured to disable certain settings in the benchmark, but which ones are unknown.
The DirectX 12 asynchronous compute function ensures that multithreaded 3d applications are handled efficiently. Multiple queues are used for certain graphical calculation tasks, while with DirectX 11 those tasks are still handled one by one, one after the other. By using asynchronous compute, the computing power of the gpu can therefore be used better, but there must be support from the hardware and the driver.
Both Nvidia and AMD cards do not support all the functionality of DirectX 12, but AMD’s Graphics Core Next architecture has been able to handle asynchronous computing since the introduction of Mantle. Many features of Mantle correspond to capabilities of DirectX 12.