Je Radeon RX Vega M z Kaby Lake-G přece jen spíš Polaris? Neumí rychlé výpočty v FP16

11. 4. 2018

Sdílet

 Autor: Redakce

Předtím, než Intel vydal procesory Kaby Lake-G s čipem Radeon integrovaným na stejném pouzdře a tyto grafiky byly oficiálně pojmenované Radeon RX Vega M, panovaly debaty o tom, zda v těchto tzv. semicustom (zakázkových) GPU bude použita nejnovější architektura Vega, nebo ještě Polaris. Toto téma je zde zpět, jelikož se objevily další doklady, že tyto Radeony přinejmenším nemusí obsahovat všechny prvky architektury Vega.

GPU z Kaby Lake-G směrují k rodině Polaris jednak identifikátory v ovladačích (například OpenCL uvádí verzi shaderů jako GFX804, což bylo objeveno již dost dávno) nebo device ID (694c, 694e), které by ukazovaly na architekturu příbuznou Polarisu 12 z Radeonu RX 550. Ty by ještě nemuselo znamenat tolik. Ovšem zřejmě již podstatnější diskrepancí je, že se Vega z Kaby Lake-G hlásí jako grafika podporující hardwarově jen DirectX 12.0, zatímco například grafické jádro Vega z APU Raven Ridge už hlásí DirectX 12.1 (což bylo avizováno při uvedení Vegy). Pokud nejde o rozdíl uměle vyrobený ovladačem, ukazovalo by toto na příbuznost s architekturou Polaris.

Radeon RX Vega M v systému hlásí podporu jen DirectX 12.0, nikoliv 12.1 (Zdroj: PC World) Radeon RX Vega M v systému hlásí podporu jen DirectX 12.0, nikoliv 12.1 (Zdroj: PC World)

Web Tom's Hardware se na tuto otázku podíval během testování NUCu Hades Canyon, tedy kompaktního počítače od Intelu, který v sobě nese Core i7-8809G nebo i7-8705G s integrovaným Radeonem RX Vega M. A při benchmarkování přišel na to, že GPU podle všeho neumí nebo nepoužívá minimálně jednu z hlavních novinek Vegy (pokud ne dokonce hlavní novinku): totiž podporu výpočtů s poloviční přesností FP16. Respektive – GPU je stejně jako Polaris podporuje, jde ale o to, že je neumí počítat s dvojnásobným výkonem, tedy dvě operace na jednu ALU místo jedné operace v běžné přesnosti FP32.

Podle testování v benchmarku SiSoft Sandra, který obsahuje test výkonu v FP16 nad DirectX 11, má Radeon RX Vega M z procesoru Kaby Lake-G stejný výkon v FP16 jako v FP32, což je očekávaný výsledek pro GPU, které nemá funkci Rapid Packed Math a víceméně sedí s otestovaným Radeonem RX 470. Naproti tomu jak velké Vegy 56 a 64, tak integrovaná Vega v APU Raven Ridge (v tabulce Ryzen 5 2400G) vykazuje v FP16 o desítky procent vyšší výpočetní výkon. Toto ukazuje, že semicustom Radeon RX Vega M nepodporuje výpočty v FP16 s dvojnásobným výkonem jako ostatní Vegy.

Test webu Tom's Hardware ukazuje, že technologie Rapid Packed Math se zvýšeným výkonem v FP16 není v Radeonu RX Vega M používána Test webu Tom's Hardware ukazuje, že technologie Rapid Packed Math se zvýšeným výkonem v FP16 není v Radeonu RX Vega M používána

Teoreticky by také tato funkce mohla být vypnutá kvůli chybě implementace nebo vyšší spotřebě, nebo deaktivovaná v ovladačích, primárně se nabízející vysvětlení ale je, že se do tohoto GPU vůbec při vývoji nedostala. A to by mohlo nejjednodušeji nastat tak, že je architektura shaderů převzatá z Polarisu. Jde zatím asi nejsilnější doklad toho, že čip neobsahuje minimálně některé z prvků architektury Vega, pokud mu dokonce nechybí všechny nebo většina. Tato skutečnost nemění nic na tom, jakých výsledků tato grafika dosahuje v benchmarcích a hrách, v těch už je obsažena. Ovšem legitimní je se ptát, zda je od AMD (a Intelu) správné tuto grafiku explicitně nazývat Radeon Vega, pokud v ní není stejnojmenná architektura. Pozice Intelu je taková, že toto GPU je „podobné desktopovým Radeonům RX Vega“, přičemž zmiňuje také „vylepšené výpočetní jednotky“. Bohužel ale bez upřesnění detailů, bylo by zajímavé vědět, co se oněmi vylepšeními míní.

ICTS24

This is a custom Radeon graphics solution built for Intel. It is similar to the desktop Radeon RX Vega solution with a high bandwidth memory cache controller and enhanced compute units with additional ROPs.

Hybrid, který se liší od Vegy i od Polarisu

Otázka je také, zda má vůbec smysl snažit se čip z Kaby Lake-G přiřadit striktně buď k Polarisu, nebo k rodině Vega. I proto, že jde o zakázkové řešení, je dost pravděpodobné, že může jít o hybrid obojího. Vzpomeňme například na APU v konzoli PlayStation 4 Pro. Ta je založená na Polarisu, ale s úpravami, mezi nimiž je například i ona funkce Rapid Packed Math pro rychlé 16bitové výpočty, která zdá se chybí mobilnímu čipu Vega. V těchto speciálních produktech tedy může dojít k namíchání prvků a IP ze starších i novějších architektur.

Takto vypadají loga procesorů Intel s grafikou AMD Takto vypadají loga procesorů Intel s grafikou AMD

Kromě toho je tu ještě ten problém, že architektura Vegy M je dost specifická (a z dnešního pohledu zajímavější) i proti předchozím Polarisům. AMD (Intel?) zvolilo výrazně jiné vyvážení mezi programovatelnými výpočetními jednotkami (stream procesory alias shadery) a fixním hardwarem. Tento čip má jen 1536 nebo 1280 shaderů, ale obsahuje 64 rasterizačních jednotek, což je stejně jako u highendového čipu Vega 10 se 4096 shadery (Radeon Vega 64/56). Obecně výkonnější Polaris 10 se 2304 shadery má rasterizačních jednotek jen 32. Čip má také stále čtyři shader enginy a tedy čtyři geometrické procesory. Výkon v geometrii a rasterizaci je tedy relativně k úrovni výkonu shaderů podstatně vyšší než u ostatních GPU jak Polaris, tak Vega. Tímto do určité míry jde úplně jiným směrem než běžné Radeony jak Polaris, tak Vega, a vytvářejí si tím cosi jako svou svébytnou architekturu (kterou by asi bylo hodně zajímavé vidět ve větším měřítku, protože geometrický a rasterizační výkon jsou často považované za slabinu Radeonů z architektonické linie GCN).