Originally Posted by jtom320
Anyone who claimed Pascal 'can't do async' wasn't paying attention during the prerelease. Async also isn't nearly the only thing Dx12 and Vulkan are bringing to the table. It's unfortunate it's become this fanboy rallying cry because it really distorts what's actually exciting about it and the new rendering techniques Dx12 makes possible.
You would think people would give the brand loyalty thing up when it came to graphics cards of all things. lol
I'll post some scores with my 6700k/1080 combo later tonight. Should be fun.
Anyone who claims Pascal can do Async does not know what Asynchronous compute + Graphics is or how it works. They likely also have no clue what nVIDIA mean when they are talking about improved preemption and dynamic load balancing amongst GPCs. To these folks... it probably all sounds like a foreign language.
I am sorry dude but some of us understand this stuff. We know what Async compute + graphics is and what it is not. We also understand how nVIDIA were able to get around their lack of hardware support for Asynchronous compute + Graphics by cleverly using the hardware they did have in place coupled with the flexibility afforded to them from using software side scheduling in order to mimic the feature. We also know of the limitations this "simulated" Asynchronous compute + Graphics support entails.
So in essence... we were paying attention. We just understood what we heard. Others just heard "Asynchronous compute" and that is all they needed to hear.
Here is what Pascal does...
The first feature nVIDA introduced is improved Dynamic Load Balancing. Basically.. the entire GPU resources can be dynamically assigned based on priority level access. So an Async Compute + Graphics task may be granted a higher priority access to the available GPU resources. Say the Graphics task is done processing... well a new task can almost immediately be assigned to the freed up GPU resources. So you have less wasted GPU idle time than on Maxwell. Using Dynamic load balancing and improved pre-emption you can improve upon the execution and processing of Asynchronous Compute + Graphics tasks when compared to Maxwell. That being said... this is not the same as Asynchronous Shading (AMD Term) or the Microsoft term "Asynchronous Compute + Graphics". Why? Pascal can’t execute both the Compute and Graphics tasks in parallel without having to rely on serial execution and leveraging Pascal’s new pre-emption capabilities. So in essence... this is not the same thing AMD’s GCN does. The GCN architecture has Asynchronous Compute Engines (ACE’s for short) which allow for the execution of multiple kernels concurrently and in parallel without requiring pre-emption.
What is pre-emption? It basically means ending a task which is currently executing in order to execute another task at a higher priority level. Doing so requires a full flush of the currently occupied GPC within the Pascal GPU. This flush occurs very quickly with Pascal (contrary to Maxwell). So a GPC can be emptied quickly and begin processing a higher priority workload (Graphics or Compute task). An adjacent GPC can also do the same and process the task specified by the Game code to be processed in parallel (Graphics or Compute task). So you have TWO GPCs being fully occupied just to execute a single Asynchronous Compute + Graphics request. There are not many GPCs so I think you can guess what happens when the Asynchronous Compute + Graphics workload becomes elevated. A Delay or latency is introduced. We see this when running AotS under the crazy preset on Pascal. Anything above 1080p and you lose performance with Async Compute turned on.
Both of these features together allow for Pascal to process very light Asynchronous Compute + Graphics workloads without having actual Asynchronous Compute + Graphics hardware on hand.
So no... Pascal does not support Asynchronous Compute + Graphics. Pascal has a hacked method which is meant to buy nVIDIA time until Volta comes out.Edited by Mahigan - 7/14/16 at 4:38pm