What is async compute?

youtube.com/watch?v=dqFkthD_Obo#t=32m45s

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

youtube.com/watch?v=8OrHZPYYY9g

Other urls found in this thread:

anandtech.com/show/10325/the-nvidia-geforce-gtx-1080-and-1070-founders-edition-review/9
twitter.com/AnonBabble

As you can see from this, when the application enables async compute, Maxwell has no gains, Pascal has some gains, and Polaris has more gains.

>time spy """"async""""

so does this mean the 1000 series acually supports dx12?
or is the CPu doing the Async shit?

cpu doing what?

some people claimed on Sup Forums that Nvidia drivers force the CPU to perform the ASYnc compute shit.

that doesn't make sense, unless they mean scheduling

either way nobody knows since nvidia won't detail how they do it

if the 1000 series acually gains FPS in dx2, that means some form of Async is happening right?

not if it's just from dx12, it has to be when you turn async on or off

amd major gain on dx12 doesn't mean that nvidia doesn't support it, but that:
1) its driver always was good, and now is just still good
2) dx12 is made for amd, banning auto-async (that nvidia always had) and multithreading (same) so nv driver gains in some dx12 features, and loses in others, resulting in a "not so better"

but no one will give a fuck because nvidia gpus still perform better.

NVIDIA is doing software level (driver) async compute, which give its some small improvement, but once AAA game that is optimized for async compute comes out gains will be over 50% on/off for AMD GPUs

>NVIDIA is doing software level (driver) async compute, which give its some small improvement, but once AAA game that is optimized for async compute comes out gains will be over 50% on/off for AMD GPUs

have a few cents

You are confusing two different things: DX12, a graphics API, and async compute, a way of doing work that DX12 allows.

The Time Spy engine is entirely DX12. It also gives you a switch that you can toggle async on or off with.

i like this bait

>NVIDIA is doing software level (driver) async compute, which give its some small improvement
We don't know exactly how they do it, and they're not going to tell us, but essentially yes. Pascal gets about 6% while Polaris gets 12% improvement from it. Maxwell gets nothing, it's disabled in the drivers.

>but once AAA game that is optimized for async compute comes out gains will be over 50% on/off for AMD GPUs
We don't really know that. What are you basing this on? All benchmarks and games so far show in the region of 12% gain from async compute.

all these bars are in DX12. Blue bars are with async.

>50% async compute gains

So you're saying AMD designed a card that doesn't do anything 50% of the time until you program it specifically to actually do it's job?

Nvidia "async" is literally just 'enhanced preemption', as they call it. It has nothing to do with actual async compute.

do you know what the work asynchronous means?

hint: it's not the same as parallel

anandtech.com/show/10325/the-nvidia-geforce-gtx-1080-and-1070-founders-edition-review/9

Something nvidia doesn't have.

That's why enhanced preemption is not asynchronous. It still feeds the GPU work in a single pipeline, it just uses the CPU to shuffle around the pieces of work to make the GPU not switch between shader and compute to often, because Nvidia GPUs are notoriously bad at that.
Meanwhile AMD cards just wouldn't care, but they can't benefit if they're fed work in a single pipeline. The higher gains in Time Spy come from the fact that AMD GPUs can effortlessly switch from compute to shading and back.

Who the fuck cares how they implement it? Whatever way they do it, they get some gains, although only half the gains AMD does.

Those videos look gay, so I'll write a layman's version. Imagine the full resources a GPU can apply to render a game as a bar from 0 to 100%, and let's say in this case it's a mid-range card and I'm a developer looking to utilize about 80% of its power to render graphics, using standard means. At this point, the async capabilities of the GPU are irrelevant, because I can get to this level of graphics without any special tricks, however the last 20% are hard to make use of because that time is spent on idle cycles while the GPU waits for stuff to happen.
Using compute, for additional effects like particles, physics and audio spatialization, I can make the GPU perform tasks that are often taxing for the CPU, and at this point that last bit of headroom does matter, since async can be used to unlock an increasingly large amount. Going by this example Maxwell would still be sitting at around 80% since it can't make good use of the extra power, Pascal would be able to tap in up to about 85~90% and Polaris up to 95% due to having the most optimization here.
Async is not some voodoo that will make GPUs faster than they are now, and it can't be made to render "traditional" effects in graphics any faster (barring extreme benchmarks), it only offers benefits for new effects on top of the game you were already playing, and the difference will never be greater than the maximum processing capacity of the GPU and the amount of work it can get done without async. In raw compute applications like CUDA the GPU is already saturated to 100% of it's output, so async will offer no benefit to programs that make use of it... perhaps it may make resource management easier on the programmers idk.

perhaps, but the potential benefit is dependent on how much time the shader cores spend idling.

nvidia cards have 2-3x the geometry performance and tend to have higher pixel fill rate in the same class, meaning they will have less opportunity to benefit from async compute.

>Using compute, for additional effects like particles, physics and audio spatialization

You know, compute shaders are used 99% of the time to simply accelerate graphics processing. particle simulation as well, sure, but typically lighting, post processing, and occasionally culling.

Actually, Maxwell has it disabled in drivers, it just puts everything into a single queue like before.

Other than that, what you said seems exactly correct to me. Async compute does not affect image quality in itself. It just lets you be more efficient with the resources you have.