グラボの性能を測るベンチマークとして定評がありリーク情報でも信憑性の高いFireStrike等を含む3DMarkの新たなベンチマーク「Time Spy」が公開されましたが、このベンチによるDirectX12や非同期演算に関するグラボ性能の測定に信憑性があるのか、Steamの掲示板上で物議を醸しています。



All of the current games supporting Asynchronous Compute make use of parallel execution of compute and graphics tasks. 3D Mark Time Fly support concurrent. It is not the same Asynchronous Compute....

So yeah... 3D Mark does not use the same type of Asynchronous compute found in all of the recent game titles. Instead.. 3D Mark appears to be specifically tailored so as to show nVIDIA GPUs in the best light possible. It makes use of Context Switches (good because Pascal has that improved pre-emption) as well as the Dynamic Load Balancing on Maxwell through the use of concurrent rather than parallel Asynchronous compute tasks. If parallelism was used then we would see Maxwell taking a performance hit under Time Fly as admitted by nVIDIA in their GTX 1080 white paper and as we have seen from AotS.

A proper async compute is all about "parallelism" which is not possible on nvidia cars hence why all these tricks. ;)


Time Spyでは現在の実ゲームで採用されているような非同期演算が採用されておらず、NVIDIAのグラボに都合のいい仕様に仕立て上げられている。NVIDIAグラボではTime Spyでは非同期演算が使われていない。Pascalで性能が上がることからわかるように、NVIDIA Maxwell以下のグラボでは非同期演算ではなく、ダイナミックロードバランシングのようなコンテキストスイッチが使われている。


Yes it does.
It was not tailored for any specific architecture. It overlaps different rendering passes for asynchronous compute, in paraller when possible. Drivers determine how they process these - multiple paraller queues are filled by the engine.

The reason Maxwell doesn't take a hit is because NVIDIA has explictly disabled async compute in Maxwell drivers. So no matter how much we pile things to the queues, they cannot be set to run asynchronously because the driver says "no, I can't do that". Basically NV driver tells Time Spy to go "async off" for the run on that card. NV driver runs asynchronous tasks in one queue on Maxwell, similar to if they were submitted in one queue ("async off" in Time Spy). If NVIDIA enables Async Compute in the drivers on Maxwell, Time Spy will start using it. Performance gain or loss depends on the hardware & drivers.

Yes it is. But Engine cannot dictate what the hardware has available or not.

Async compute is about utilizing "idle" shader units. Slower the card, less idle ones you have. Less capable hardware may also be hard pressed to utilize all of them even if the engine asks nicely. Also there may be limitations as to what workloads in the engine *can* run in parallel. Yes, Time Spy is very graphics-heavy, since, well, its a graphics benchmark. But even there many of the rendering passes have compute tasks that can use this.

Ultimately some AMD cards gain quite a bit (ie. they have a lot of shader units idling while rendering and they are very good at using them for the available paraller loads). Some AMD cards gain less or not at all (either less capable at paralleriziing, less idle shader units or no idle shader units at all - for example a HD 7970 is hard pressed to have any to "spare")

Some NVIDIA cards cannot do this at all. The driver simply says "hold your horses, we'll do this nicely in order". Some NVIDIA cards can do some of it. They might use another way than AMD (more driver/software based), but the end result is the same - the card hardware is capable of doing more through some intelligent juggling of the work.

Time Spyでは非同期演算以外のコンテキストスイッチやロードバランシングなどの処理が行われることはあるが、特定のアーキテクチャ(NVIDIAグラボやAMDグラボ)に特化したものではない。TimeSpyは非同期演算に対応するが使うかどうかはドライバ次第である。しかしAsyncの有効・無効によらず最終的に出力されるものは同じである。


まず大前提としてスレ主からは「Time Spyで非同期演算は”全く”使うことができない」とは主張されていません。あくまでNVIDIAの一部のグラボでドライバから強制的に無効化されるので非同期演算が使用されておらず、ダイナミックロードバランシングのようなコンテキストスイッチ、要はプリエンプションが使用されているという事実が指摘され、開発者側もそれを認めています。正直に言っていいでしょうか……、


もし仮に「TimeSpy」で”完全に”非同期演算を使うことができず、AMDグラボですらコンテキストスイッチを強制されるのであればベンチマークとして信憑性がないと言わざるを得ませんが、Async有効化時のNVIDIA 10XXシリーズとAMD FuryシリーズのAsync有効・無効における性能の伸び幅の違いを見る限りAMDグラボではAsyncが使用されていると見るのが妥当だと思います。(一部のレスで「プログラムを解析したところTimeSpyではロードバランシングしか使われていない、100%証明できる」という主張もありますが真偽不明、その後のレスでも証明となる記述はなし。ただ繰り返しますがNVIDIAとAMDの伸びの違いを見るに嘘or語弊のある主張だと思います。)




非同期演算(Asynchronous Compute)によるHitman2016での性能向上はせいぜい5~10%であり、開発者曰く、”調整は非常に困難”。

今更感のある事実を指摘しただけスレ主が「3dmark doesn't use proper Asynchronous Compute!」という語弊のあり過ぎるタイトルでスレッドを建てる