Doom to use Asynchronous Compute.

Mahigan

Senior member
Aug 22, 2015
573
0
0
Doom-Screens-3-635x380.jpg


Just thought you might all find this interesting...

Looks line another Async Compute title but this time OpenGL.

http://wccftech.com/doom-dev-big-gains-async-compute-love/

Ps... I looked but couldn't find a thread which mentioned this.
 
Last edited:

ThatBuzzkiller

Golden Member
Nov 14, 2014
1,120
260
136
On consoles and async compute is not available in OpenGL ...

The reason why id Tech 6 is favouring AMD has to do with the fact that their using AMD specific extensions or hitting the slow paths on Nvidia hardware ...
 

Bacon1

Diamond Member
Feb 14, 2016
3,430
1,018
91
The reason why id Tech 6 is favouring AMD has to do with the fact that their using AMD specific extensions or hitting the slow paths on Nvidia hardware ...

Right... It has nothing to do with Nvidia lying about their hardware features and selling you unfinished goods right?

1i7LfZT.png


Whats the last bullet say?

Fun FACT of the day: Async Compute is NOT enabled on the driver-side with public Game Ready Drivers. You need app-side + driver-side!

https://twitter.com/PellyNV/status/702556025816125440

Hardly a fun fact I'd say.
 

poofyhairguy

Lifer
Nov 20, 2005
14,612
318
126
Hardly a fun fact I'd say.

He capitalized the wrong word. FUN is the acronym, not fact.

Fully

Understanding

Nvidia's limitations


Unless maybe the acronym is really FACT:

Forget

Async

Claims

Totally

If everyone did that it would be way more fun for Nvidia.
 

Shmee

Memory & Storage, Graphics Cards Mod Elite Member
Super Moderator
Sep 13, 2008
8,128
3,065
146
Isn't Doom Vulkan?

Is it? Do we even know what API it uses yet? I would be interested to know, but hopefully Vulkan support is correct, with hopes of running on linux :D
 
Feb 19, 2009
10,457
10
76
I hope it will be Vulkan for PCs, cos that needs some love, and ID championed OpenGL in the days. Do away with the Windows requirement!

After some digging, it's confirmed that ID6 is OpenGL/Vulkan.
 
Last edited:

Stuka87

Diamond Member
Dec 10, 2010
6,240
2,559
136
On consoles and async compute is not available in OpenGL ...

The reason why id Tech 6 is favouring AMD has to do with the fact that their using AMD specific extensions or hitting the slow paths on Nvidia hardware ...

OpenCL *DOES* use async compute, and OpenCL is used for all compute jobs in OpenGL based engines (Such as the id Tech 6 engine). So in short, you are wrong.

Another difference is that OpenCL is more full featured and includes features such as multiple devices, asynchronous queues and strict IEEE semantics for floating point operations.

https://www.opengl.org/registry/specs/ARB/compute_shader.txt
 

Raising

Member
Mar 12, 2016
120
0
16
Asynchronous compute/shaders was AMD's technology specific to GCN (not even TeraScale); they built Mantle (closed source) around it and then Vulkan and DX12 were based around Mantle. They developed the console GPUs (GCN) to leverage asynchronous compute.
When Maxwell was developed and released, Mantle was closed source and asynchronous compute was a brand new thing AMD was playing with sparingly in the consoles. GPU architectures aren't developed right before they're released, it takes years - years during which technology changes rapidly. Like Mantle.
 

Stuka87

Diamond Member
Dec 10, 2010
6,240
2,559
136
Asynchronous compute/shaders was AMD's technology specific to GCN (not even TeraScale); they built Mantle (closed source) around it and then Vulkan and DX12 were based around Mantle. They developed the console GPUs (GCN) to leverage asynchronous compute.
When Maxwell was developed and released, Mantle was closed source and asynchronous compute was a brand new thing AMD was playing with sparingly in the consoles. GPU architectures aren't developed right before they're released, it takes years - years during which technology changes rapidly. Like Mantle.

The issue isn't that nVidia does not support it. Its that they constantly lie about supporting it in hardware, when they do not. They emulate it in software for compatibility, but their performance goes down.
 

3DVagabond

Lifer
Aug 10, 2009
11,951
204
106
He capitalized the wrong word. FUN is the acronym, not fact.

Fully

Understanding

Nvidia's limitations


Unless maybe the acronym is really FACT:

Forget

Async

Claims

Totally

If everyone did that it would be way more fun for Nvidia.

lol

Is it? Do we even know what API it uses yet? I would be interested to know, but hopefully Vulkan support is correct, with hopes of running on linux :D

I would love to have gaming overall not require Windows. It would at least be a start. :fingerscrossed:
 
Feb 19, 2009
10,457
10
76
The issue isn't that nVidia does not support it. Its that they constantly lie about supporting it in hardware, when they do not. They emulate it in software for compatibility, but their performance goes down.

Reminds me of the Mantle and then later DX12/Vulkan discussions on here.

Some folks were of the view, back then, that Maxwell was fully capable on hardware for AC, despite the limitation of a single engine design that hasn't shifted from Fermi & Kepler. It went against logic of having multiple separate engines that these next-gen API use.

Then when its found out it's lacking hardware for it, some were of the view, by the time games that use AC are here, these current GPUs wouldn't matter.

Really? R290X is still putting out very impressive performance at 1080 and 1440p. I'm seeing huge gains in Hitman DX12 personally. These GPUs are in fact still capable, there's no reason to obsolete them ahead of time just to sell more GPUs.

Basically having hardware support for a major performance enhancement feature is counter-productive for GPU companies that want to sell more GPUs more often. Because these features extend the performance capability lifespan of GPUs, it doesn't cause an incentive for upgrades.

So whenever anyone raises the question of future proofing, consider the uarch that was made to shine with DX12/Vulkan.
 

tential

Diamond Member
May 13, 2008
7,348
642
121
On consoles and async compute is not available in OpenGL ...

The reason why id Tech 6 is favouring AMD has to do with the fact that their using AMD specific extensions or hitting the slow paths on Nvidia hardware ...

Nvidia supports Async.
Async is available in OpenGL.
id Tech 6 is using Async.

I don't see what's wrong.

Why are you upset? Nvidia supports Async, and id Tech6 is using it. Are you telling me you want id Tech 6 to not use a feature Nvidia supports?
 

tential

Diamond Member
May 13, 2008
7,348
642
121
Proof ?

I never expected the ADF to chase me ...

BTW my initial post in this thread wasn't meant to be defensive towards one IHV but I guess the PTSD is too strong in here ...

Who is chasing you?
Try post 10 and checking the OpenGL specs... it's all in there. Or you can just believe what you want, really doesn't matter.

The point is, the game uses Async Compute, Nvidia supports Async Compute, unless you have a problem with Async Compute, that's what the thread is about, so address the topic.

I really don't get what you're upset about, this game isn't targeting "Slow nvidia paths", it's using features Nvidia supports.
 

ThatBuzzkiller

Golden Member
Nov 14, 2014
1,120
260
136
Who is chasing you?
Try post 10 and checking the OpenGL specs... it's all in there. Or you can just believe what you want, really doesn't matter.

The point is, the game uses Async Compute, Nvidia supports Async Compute, unless you have a problem with Async Compute, that's what the thread is about, so address the topic.

I really don't get what you're upset about, this game isn't targeting "Slow nvidia paths", it's using features Nvidia supports.

You didn't read the extension specs and neither did he!

Overview

Recent graphics hardware has become extremely powerful and a strong desire to harness this power for work (both graphics and non-graphics) that does not fit the traditional graphics pipeline well has emerged. To address this, this extension adds a new single-stage program type known as a
compute program. This program may contain one or more compute shaders
which may be launched in a manner that is essentially stateless. This allows
arbitrary workloads to be sent to the graphics hardware with minimal
disturbance to the GL state machine.

In most respects, a compute program is identical to a traditional OpenGL
program object, with similar status, uniforms, and other such properties.
It has access to many of the same resources as fragment and other shader
types, such as textures, image variables, atomic counters, and so on.
However, it has no predefined inputs nor any fixed-function outputs. It
cannot be part of a pipeline and its visible side effects are through its
actions on images and atomic counters.

OpenCL is another solution for using graphics processors as generalized
compute devices. This extension addresses a different need.
For example,
OpenCL is designed to be usable on a wide range of devices ranging from
CPUs, GPUs, and DSPs through to FPGAs. While one could implement GL on these types of devices, the target here is clearly GPUs. Another difference is
that OpenCL is more full featured and includes features such as multiple
devices, asynchronous queues and strict IEEE semantics for floating point
operations. This extension follows the semantics of OpenGL - implicitly
synchronous, in-order operation with single-device, single queue
logical architecture and somewhat more relaxed numerical precision
requirements.
Although not as feature rich, this extension offers several
advantages for applications that can tolerate the omission of these
features. Compute shaders are written in GLSL, for example and so code maybe shared between compute and other shader types. Objects are created and owned by the same context as the rest of the GL, and therefore no
interoperability API is required and objects may be freely used by both
compute and graphics simultaneously without acquire-release semantics or
object type translation.

You and the rest of your cohorts shouldn't get anymore technical information cause your going to give graphics programmers a heart attack ... :\

My point is asynchronous compute is used on consoles cause it's not certain that id Tech 6 is using OpenCL ...

What I'm upset about is not whether or not Nvidia supports async compute but it's that you and the others are spewing crap along with misinformation around the internet!
 
Feb 19, 2009
10,457
10
76
It's Vulkan guys, relax. ID6 is OpenGL/Vulkan.

They are talking about AC now is probably because they only started on the Vulkan port process.