Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

DirectX 12 Multi-engine: asynchronní shadery v praxi

20.11.2015, Pavel Šantrůček, recenze
DirectX 12 Multi-engine: asynchronní shadery v praxi
Co jsou to asynchronní shadery a k čemu vlastně slouží? Jak zapadají do kontextu DirectX 12? Které grafické karty je podporují, které zase ne a proč? V dnešním článku odpovíme právě na takovéto otázky.

MDolenc test: Nvidia (CUDA)


Pokud místo DirectX 12 verze MDolenc testu použijeme verzi pro CUDA, začínají se dít zajímavé věci.

Průchod 1 – exekuce pouze výpočetních úloh


MDolenc test Nvidia CUDA 1.pass
- pro zvětšení klikněte na obrázek -

V tomto průchodu jsou zpracovávány pouze výpočetní úlohy a na rozdíl od DirectX 12, Device Context (temně zelená) nyní odesílá příkazy do té správné výpočetní fronty (Compute).

Průchod 2 – souběžné exekuce grafických i výpočetních úloh

MDolenc test Nvidia CUDA 2.pass
- pro zvětšení klikněte na obrázek -

V tomto průchodu jsou zpracovávány jak úlohy výpočetní, tak také grafické. Device Context (temně zelená) odesílá výpočetní příkazy opět správně do fronty výpočetní (Compute) a souběžně také Device Context (tmavě zelená) odesílá grafické příkazy do fronty grafické (3D). Vidíme tedy využití obou front, jak 3D pro grafické úlohy, tak také fronty Compute pro úlohy výpočetní.

Pod CUDA jsou tedy využity zároveň obě fronty, kde o grafickou (3D) se na GPU stará engine GCP a o výpočetní pak s největší pravděpodobností onen výpočetní engine GMU (Grid Management Unit).

Nyní, když jsou grafickou kartou pod CUDA využity obě hardwareové fronty, jak tedy vlastně MDolenc test pro Nvidia CUDA vůbec dopadl?

MDolenc test Nvidia CUDA


Neslavně! Ani přes využití CUDA a její samostatnou jednotku GMU jsme se nedočkali souběžného zpracování grafických a výpočetních úloh. I přes existenci dvou enginů, kdy se o grafické příkazy stará GCP a o výpočetní pak CUDA GMU, Maxwell není schopen zprovoznit úlohy tak, aby pracovaly souběžně. S největší pravděpodobností totiž není splněna ona druhá podmínka asynchronních shaderů, tedy správné řazení (sheduling) úloh do práce simultánního multi-threadingu.

Tak to bychom měli za sebou testy syntetické, které byly pro nás důležité zejména pro zjištění, co a jak které grafické karty podporují či nepodporují a popravdě pro grafické karty architektury Kepler/Maxwell nedopadly příliš optimisticky. Všem dnům ale ještě konec není a my se nyní podíváme zase trochu do praxe. Otestujeme si právě onu počítačovou hru, která veškerý tento humbuk kolem asynchronních shaderů způsobila, tedy Asches of the Singularity.
Doporučujeme náš velký přehled desktopových grafických čipů.