> > > > Futuremark für Asynchronous Compute im 3DMark Time Spy detailliert aus

Futuremark für Asynchronous Compute im 3DMark Time Spy detailliert aus

Veröffentlicht am: von

Im Zusammenhang mit der Implementation von Asynchronous Compute im Time-Spy-Benchmark hat Futuremark nach Bekanntwerden der Art und Weise wie dort auf bestimmte Prozesse zurückgegriffen wird, bereits mit einem Statement reagiert. Konkret geht es um den Vorwurf, Asynchronous-Compute-Prozesse seien nicht korrekt umgesetzt und bevorteilen damit den einen oder anderen Hersteller.

Genauer gesagt geht es darum, dass bei Verwendung einer Grafikkarte mit Maxwell-GPU von NVIDIA kein Asynchronous Compute angewendet wird, selbst wenn dies aktiviert und laut Hersteller auch möglich sein soll. Stattdessen sorgt der Treiber dafür, dass ein alternativer Renderpfad angewendet wird, was die Ergebnisse in gewisser Weise verfälscht. Unsere Ergebnisse zeigen dies auch in gewisser Form bzw. ein zu erwartendes Verhalten, denn für Asynchronous Compute gingen wir nicht mehr davon aus, dass NVIDIA diese mit der Maxwell-Architektur korrekt wird ausführen können.

Verteilung der Prozesse im 3DMark Time Spy
Verteilung der Prozesse im 3DMark Time Spy

Auch sollen die Aussagen von Futuremark für Verwirrung gesorgt haben, denn laut der Entwickler ist Time Spy der erste echte DirectX-12-Benchmark, der von Beginn an dahingehend optimiert wurde. Allerdings verwendet Time Spy nur das DirectX-Feature-Level 11_0 und bedient sich nur in Teilen im Feature-Level 12_0. Dies ist für das besagte Async Compute aber auch Explicit Multi Adapter der Fall.

Nun aber zur Veröffentlichung von Futuremark, die in allen Details auf die Implementation und Ausführung von Direct und Compute Queues eingehen soll. Dabei werden in Schaubildern bzw. Auswertungen der Queues auch die Unterschiede zwischen der GeForce GTX 1080, GeForce GTX 970 und Radeon RX 480 herausgestellt.

Laut Futuremark ist Asynchronous Compute der wichtigste Bestandteil von DirectX 12 und entsprechend groß ist der Einfluss dieser Funktionen im Time-Spy-Benchmark. Bei der Implementation habe man mit allen beteiligten Unternehmen zusammengearbeitet – AMD, Intel, Microsoft, NVIDIA und einige mehr.

Die Umsetzung sei in allen Fällen gleich und es gibt keine herstellerspezifische Optimierung. Daher seien auch die Ergebnisse sehr gut vergleichbar und bevorteilen keine bestimmte Hardware. Ob die Compute Queue aber seriell oder parallel ausgeführt würde, sei nicht die Entscheidung des Benchmarks, sondern des Treibers und hierher rühren laut Futuremark auch die Unterschiede in der Auswertung und Beurteilung des Benchmarks. Futuremark sei nicht in der Lage, bestimmten Prozessen ein spezifisches Verhalten oder bestimmte Bedürfnisse anzuheften. Demnach sei es auch nicht möglich, Einfluss auf die Abarbeitung durch den Treiber und letztendlich die Hardware zu nehmen.

Direct und Compute Queue bei der GeForce GTX 970, GeForce GTX 1080 und Radeon R9 Fury

Futuremark möchte dies auch mit einer detaillierten Analyse belegen, die wir versucht haben nachzuvollziehen. Erstellt wurde die Analyse mit einem Programm namens GPUView. GPUView stellt die Pakete dar, die in die Queues einsortiert und abgearbeitet werden. Horizontal getrennt dargestellt werden eventuell vorhandene Direct- und Compute-Queues.

Für die GeForce GTX 970 stellt sich dies wie folgt dar:

Prozess- und Queue Verhalten der GeForce GTX 970 (links mit Asynchronous Compute, rechts mit deaktiviertem Asynchronous Compute)Prozess- und Queue Verhalten der GeForce GTX 970 (links mit Asynchronous Compute, rechts mit deaktiviertem Asynchronous Compute)

Prozess- und Queue Verhalten der GeForce GTX 970 (links mit Asynchronous Compute, rechts mit deaktiviertem Asynchronous Compute)

Links ist GPUView mit aktiviertem Asynchronous Compute zu sehen, rechts mit deaktivierter Einstellung. In beiden Fällen aber ist das Verhalten grundsätzlich identisch, denn aus der dedizierten Compute Queue wird der Compute-Prozess seriell durch den Treiber an die Hardware-3D-Queue weitergeleitet. Auch wenn GPUView zwei separate Queues andeutet (gemischt mit Direct- und Compute-Prozessen), so werden diese letztendlich in einer einzige Hardware-Queue zusammengeführt.

Das Verhalten der Radeon R9 Fury unterscheidet sich hingegen maßgeblich:

Prozess- und Queue Verhalten der Radeon R9 Fury (links mit Asynchronous Compute, rechts mit deaktiviertem Asynchronous Compute)Prozess- und Queue Verhalten der Radeon R9 Fury (links mit Asynchronous Compute, rechts mit deaktiviertem Asynchronous Compute)

Prozess- und Queue Verhalten der Radeon R9 Fury (links mit Asynchronous Compute, rechts mit deaktiviertem Asynchronous Compute)

Hier sind zwei dedizierte Queues zu sehen, die von der Kontext-Seite (dem Spiel und in diesem Fall vom Time-Spy-Benchmark) in zwei Hardware-Queues überführt werden. Die dazugehören Prozesse können parallel ausgeführt werden. Anders sieht dies aus, wenn Asynchronous Compute abgeschaltet wird. Dann ist nur noch eine Queue zu sehen, sowohl auf der Kontext-Seite wie auch in der Hardware-Queue. Die Hardware bzw. der Treiber hat bei ausgeschaltetem Asynchronous Compute auch keine Möglichkeit aus einer Queue eine zusätzliche mit Compute-Prozessen zu erstellen. Der Time-Spy-Benchmarks gibt vor, wie die Grafikkarten die Prozesse abzuarbeiten hat. Eine Einflussnahme durch den Treiber oder die Hardware soll damit ausgeschlossen sein.

Um den Unterschied zur GeForce GTX 970 darzustellen, ein Blick auf das Verhalten der GeForce GTX 1080:

Prozess- und Queue Verhalten der GeForce GTX 1080 (links mit Asynchronous Compute, rechts mit deaktiviertem Asynchronous Compute)Prozess- und Queue Verhalten der GeForce GTX 1080 (links mit Asynchronous Compute, rechts mit deaktiviertem Asynchronous Compute)

Prozess- und Queue Verhalten der GeForce GTX 1080 (links mit Asynchronous Compute, rechts mit deaktiviertem Asynchronous Compute)

Grundsätzlich sehen wir ein ähnliches Bild wie bei der Radeon R9 Fury, allerdings werden die Queues bei NVIDIA bereits etwas anders verarbeitet – daher auch der leichte Unterschied in der Darstellung. Es wird aber deutlich, dass die GeForce GTX 1080 eine zusätzliche Compute-Queue verwendet, aus der heraus Direct- und Compute-Prozesse gleichzeitig ausgeführt werden können. Bei ausgeschaltetem Asynchronous Compute ist auch die korrespondierende Compute-Queue verschwunden.

Social Links

Kommentare (7)

#1
customavatars/avatar8983_1.gif
Registriert seit: 19.01.2004

Flottillenadmiral
Beiträge: 4584
"Futuremark für Asynchronous Compute im 3DMark Time Spy detailliert aus" fehlt da nicht ein Verb im Titel? :D
#2
Registriert seit: 26.02.2013
Berlin
Obergefreiter
Beiträge: 123
Was ich mich immer noch frage: wenn Ihr ja wisst, dass bei Maxwell nichts mehr für Async Compute kommt, warum packt Ihr als Journalisten den Verantwortlichen nicht die Pistole auf die Brust und fragt nach, wann der angebliche Async Compute Treiber denn nun kommt?

Ohne jetzt hier wieder einen Grabenkrieg anfangen zu wollen, aber es ist doch sehr offensichtlich das bezüglich Maxwell absolut gelogen wurde.
#3
customavatars/avatar226085_1.gif
Registriert seit: 07.08.2015
Athen
Leutnant zur See
Beiträge: 1208
Mir gefällt nicht, daß der Artikel nicht zum Punkt kommt und nicht aufklärt ob der NVtreiber mit Maxwells nun cheatet indem er das Queue-Verhalten ändert oder nicht.

Auch würde ich gerne wissen ob Fury oder 1080 effektiver mit der Queue sind :D


Kann das Treiberverhalten nicht festlegen indem man 3dmark.exe in explorer.exe umbenennt? :D :D :D
#4
customavatars/avatar179024_1.gif
Registriert seit: 29.08.2012

Flottillenadmiral
Beiträge: 4827
Zitat ProphetHito;24774779
Mir gefällt nicht, daß der Artikel nicht zum Punkt kommt und nicht aufklärt ob der NVtreiber mit Maxwells nun cheatet indem er das Queue-Verhalten ändert oder nicht.


Man sieht auf dem Bild meiner Meinung nach, dass auf der Hardware der GTX 970 alles in einer Queue landet. Die GTX 1080 und die Fury haben dagegen in der Compute Queue(COMPUTE_1/COMPUTE_0) gleichzeitig noch Daten. Daraus ist zu schließen, dass bei der GTX 970 hardwarebasiert keine simultanen Berechnungen im Sinne von Async Compute durchgeführt werden.
#5
customavatars/avatar17977_1.gif
Registriert seit: 16.01.2005
HH\Wandsbek\Hinschenfelde
Korvettenkapitän
Beiträge: 2537
Zitat ProphetHito;24774779
Mir gefällt nicht, daß der Artikel nicht zum Punkt kommt und nicht aufklärt ob der NVtreiber mit Maxwells nun cheatet indem er das Queue-Verhalten ändert oder nicht.

Auch würde ich gerne wissen ob Fury oder 1080 effektiver mit der Queue sind :D


Kann das Treiberverhalten nicht festlegen indem man 3dmark.exe in explorer.exe umbenennt? :D :D :D


Sollte er Cheaten, dann ists Müll, wobei wenn ich mir den 3D Markt Wert der 980 Ti ansehe siehts arg nach Cheating aus. Was ich noch zu klären wissen möchte von Futuremark, warum deren Benchmark das Gegenteil von dem Widerspiegelt was die DX12 Titel mit ASnync Computing zeigen. Da fragt man sich dann eben doch, ob nicht ein anderer Rendepfad benutzt wird
#6
Registriert seit: 07.03.2013

Fregattenkapitän
Beiträge: 3024
Der Artikel erklärt es doch ziemlich genau!
Und Spiele mit DX12 sind immer noch selten und wenn der eine, oder der andere Hersteller besser ist. Wäre ja erstmal die Frage, wie genau das im Spiel implementiert wurde... Denn nicht grundsätzlich, wenn man eine Spielebench sieht, der das selbst bevorzugte Ergebnis bringt, bedeutet das auch, das jetzt DX12, genauer Async C. richtig eingebunden wurde...
#7
Registriert seit: 29.09.2011
Bochum
Oberbootsmann
Beiträge: 798
1a Überschrift :haha:
Um Kommentare schreiben zu können, musst Du eingeloggt sein!

Das könnte Sie auch interessieren:

Unigine veröffentlicht den Superposition Benchmark

Logo von IMAGES/STORIES/2017/UNIGINE

Vor einigen Wochen wurde er angekündigt, nun ist er verfügbar: Der Superposition-Benchmark von Unigine. Der neue Benchmark basiert auf der Unigine-2-Engine und unterstützt auch die Oculus Rift und HTC Vive. Neben Windows wird auch Linux als Betriebssystem unterstützt. Der Benchmark erstellt... [mehr]

Geekbench 4 ist verfügbar und bis 13. September kostenlos

Logo von IMAGES/STORIES/LOGOS-2016/GEEKBENCH_4

Primate Labs hat seine Benchmark-Suite Geekbench nun in der Version 4 veröffentlicht. Noch bis zum 13. September ist die Anwendung dabei für sowohl Android als auch Apple iOS kostenlos. Vorangegangene Versionen haben sich mittlerweile als Teil der wichtigsten Standard-Benchmarks für mobile... [mehr]

Futuremark integrierte Vulkan-Test in den 3DMark

Logo von IMAGES/STORIES/2017/FUTUREMARK

Futuremark hat heute die Version 2.3.3663 des 3DMark veröffentlicht. Darin befindet sich auch eine Erweiterung des API-Overhead-Test, der bereits die Draw Calls unter DirectX 12 und DirectX 11 vergleicht. Nun auch enthalten ist ein Durchlauf für die Vulkan-API, der ab sofort Mantle... [mehr]

Futuremark veröffentlicht den VRMark VR-Benchmark

Logo von FUTUREMARK

Bereits seit einigen Wochen konnte ein erster VR-Benchmark im 3DMark getestet werden, nun hat Futuremark die finale Version des Benchmarks als eigenständige Version vorgestellt. Der VRMark soll die Leistung des PCs hinsichtlich der Anforderungen an die Darstellung auf entsprechenden VR-Brillen,... [mehr]

Unigine präsentiert den Superposition-Benchmark

Logo von IMAGES/STORIES/LOGOS-2017/UNIGINE

Die Unigine ist vor allem im mobilen Bereich fast schon die Referenz bei den Grafik-Engines. Aber auch auf dem Desktop wird die Unigine-Engine immer häufiger verwendet und wird dementsprechend auch immer weiter entwickelt. Nun haben die Macher von Unigine einen eigenen Benchmark angekündigt, der... [mehr]

Support-Ende: 3DMark und PCMark Vantage werden kostenlos

Logo von IMAGES/STORIES/2017/FUTUREMARK

Am 11. April endet die Extended-Support-Phase für Windows Vista. Ab diesem Datum wird es endgültig keine sicherheitsrelevanten Updates mehr für das über zehn Jahre alte Microsoft-Betriebssystem mehr geben. Wirklich interessieren dürfte das aber keinen, bringt es der ungeliebte... [mehr]