AMD vydalo Instinct MI100, první „neGPU“ na bázi CDNA: 120 CU a Matrix Core pro AI

17. 11. 2020

Sdílet

Arcturus, GPU s architekturou CDNA z akcelerátoru AMD Instinct MI100 Autor: AMD
Arcturus, GPU s architekturou CDNA z akcelerátoru AMD Instinct MI100
Instinct MI100 založený na čipu Arcturus architektury CDNA, která je čistě výpočetní bez grafických bloků, je zatím asi nejlepší šance, kterou

mělo AMD proti Nvidii v poslední době na poli serverů.

Letos na jaře ohlásilo AMD, že kromě herních grafických GPU s architekturou RDNA, RDNA 2 a tak dále otevře druhou linii odlišné architektury určené pro výpočetní nasazení. Ta se jmenuje CDNA a AMD právě teď vydalo první GPU – respektive akcelerátor – který ji používá.

Karta se jmenuje Instinct MI100 (vypadá to, že podobně jako Nvidia vypustila označení Tesla, AMD vyhodilo z předchozího názvu slovo Radeon). A jde zřejmě o „neGPU“, o kterém prosákly informace už před dost dlouhou dobou – znali jsme ho pod kódovým označením Arcturus. Později, než jsme si loni mysleli, teď Arcturus/Instinct MI100 přichází na trh, kde by mimo jiné asi mohl pohánět první exascale superpočítače.

Největší GPU (ne)Radeon v historii

Arcturus je 7nm GPU o poměrně velké ploše, patrně by mohlo mít 600 až 700 mm². Obsahuje zřejmě celkem 128 CU, což dává 8192 shaderů, ale to už asi není nejlepší označení.

Arcturus/MI100 totiž vůbec nemá jednotky pro grafické operace jako ROP, geometrický engine a texturovací jednotky. Jde o čistě výpočetní architekturu, třebaže stavěnou na půdorysu vycházejícím z grafických GPU. Vypuštění součástí pro 3D grafiku dovolilo do stejného počtu tranzistorů a spotřeby dostat více výpočetních jednotek a výkonu.

Karta Instinct MI100 nemá čip kvůli výtěžnosti plně aktivní a používá jen 120 aktivních CU (7680 „shaderů“). Jejich frekvence – mělo by jít o boost – je 1502 MHz. Paměťový subsystém používá stejně jako předchozí Radeon Instinct MI60 založený na čipu Vega 20 paměti typu HBM, osazené v pouzdře GPU na interposeru. Použitá jsou čtyři pouzdra HBM2 s celkovou kapacitou 32 GB, která tedy dávají sběrnici o šířce 4096 bitů a propustnost 1,23 TB/s (frekvence by tedy asi měla být 2,46 GHz efektivně).

Kromě toho je v čipu distribuováno dohromady 8 MB 16-way asociativní L2 cache v celkem 32 blocích (tedy asi jeden blok na 4 CU). Celková propustnost této cache je až 6 TB/s.

TDP je 300 W a akcelerátor má standardní podobu karty do slotu PCI Express 4.0 ×16 a pasivním dvouslotovým chladičem pro servery. Proti výpočetnímu akcelerátoru Nvidia A100 má AMD Instinct MI100 potenciálně nižší TDP, pokud se bavíme o mezzaninové verzi A100 (provedení SXM4 má TDP 400 W). Kartová verze A100 je ovšem 250W, takže ta má příkon nižší (ale poběží na nižších taktech než 400W verze A100).

Dlužno říci, že Nvidia také ve své A100 přinesla vyšší propustnost a kapacitu paměti – samotné GPU zvládne až 6144 bitů s šesti pouzdry a 48 GB paměti, ale Nvidia momentálně využívá jen pět pouzder s kapacitou 40 GB/šířkou 5120 bitů a propustností 1,519 TB/s. Paměť má tedy AMD menší a pomalejší.

Architektura vychází z GCN

Výpočetní jednotka („Compute Unit“) by měla vycházet z architektury GCN, což znamená 64 „shaderů“, přičemž kromě této vektorové části je přítomna i skalární jednotka s vlastními registry.

GPU pořád používá šířku wavefrontu (warpu v terminologii Nvidie) 64 a výpočetní jednotky jsou uspořádány do 16-wide (SIMD16) sekcí jako u GCN, zatímco u RDNA jsou použité 32-wide jednotky (SIMD32) a stejná šířka wavefrontu, aby operace byly hotové v jednom průchodu, zatímco GCN a CDNA potřebují čtyři průchody.

Nejvýkonnější HPC GPU (v FP64)

Výkon Instinctu MI100 by měl být dobrý zejména ve vědeckých výpočtech, zatímco ve výpočtech AI bude výrazně silnější Nvidia. Pro boostovou frekvenci 1502 MHz uvádí AMD výkon 11,5 TFLOPS ve výpočtech s dvojitou přesností, to je o 18,5 % vyšší než 9,7 TFLOP akcelerátoru Nvidia A100. Na základě toho se AMD chlubí, že Instinct MI100 je nejvýkonnější GPU pro sektor HPC (tedy superpočítačů a souvisejících serverů). Výkon v běžné přesnosti FP32 je dvojnásobný, 23,1 TFLOPS.

Matrix Core akcelerující výpočty AI

Pro výpočty umělé inteligence AMD poprvé zavádí specializovanou jednotku „Matrix Core“, která provádí maticové operace pro potřeby neuronových sítí a je zřejmě v principu podobná Tensor jádrům u Nvidie. Tato Matrix Cores jsou zdá se přítomná v každé CU paralelně se standardními výpočetními jednotkami a provádí operace MFMA (Matrix Fused Multiply-Add). Ty jsou podporovány s přesností INT8, FP16 bfloat16 nebo FP32, ale výsledek je uložen vždy v přesnosti FP32 nebo INT32.

Poměr výkonu mezi standardními výpočetními jednotkami a výkonem těchto Matrix Core je ale méně vychýlený ve prospěch AI výpočtů než u Nvidie. AMD uvádí, že Matrix jádra mají při použití přesnosti FP32 celkově dvojnásobný výkon – 46,1 TFLOPS. Při použití formátu bFloat16 je to čtyřnásobek, 92,3 TFLOPS. Použití operací FP16 nebo INT8 dává osminásobek, 184,6 TFLOPS. A to by měl být vůbec nejvyšší dosažitelný teoretický výkon Instinctu MI100 v AI výpočtech.

V porovnání s tím umí Nvidia A100 vyvinout na tensor jádrech v přesnosti FP16 výkon až 312 TFLOPS, přičemž při aplikaci techniky Sparsity, kdy je polovina výpočtů přeskočena (jde o výpočty nad hodnotami blízkými nule, které jsou zaokrouhlené dolů), je výkon efektivně ještě dvakrát vyšší, tedy až 624 TFLOPS. Zatímco Arcturus tedy bude nabízet o necelou pětinu vyšší výkon pro vědecké simulace, zde v AI má zase velmi výrazný náskok architektura Ampere.

Infinity Fabric, multimédia zůstala

Bylo zmíněno, že AMD eliminovalo z architektury CDNA v čipu Arcturus podporu pro všechny fixní funkce grafické pipeline (ROP, TMU, geometrie, Ray Acceleratory). Toto znamená, že Arcuturus nikdy nebude možné využít sekundárně pro grafické karty Radeon a Radeon Pro, jak to AMD udělalo s čipem Vega 20 (Radeon VII).

Jedna věc nicméně eliminována nebyla – bloky pro akceleraci multimédií. GPU v nich může dekódovat video ve formátech VP9, HEVC a H.264 (AV1 zmíněné není, asi ještě na rozdíl od RDNA 2 přítomné není), což se může hodit v aplikacích umělé inteligence, pokud se zpracovává komprimované video například pro rozpoznávání objektů/lidí nebo video z kamer třeba v automobilu.

GPU bude možné koherentně propojit pomocí konektivity Infinity Fabric, a to po čtyřech adaptérech – provádí se to opět můstky osazenými na konektory na hřbetech karet. Rychlost propojení má být špičkově až 276 GB/s (což asi může být nějaký součet propustností mezi více GPU).

GPU Arcturus má tři linky, takže čtveřice karet má plně propojenou topologií „na jeden hop“, kdy každé GPU má přímou linku s ostatními. U Vegy 20 byly linky jen dvě, takže propojení s dvěma GPU bylo přímé a s třetím na „dva hopy“, tedy zprostředkované společným sousedem (čtyři karty tedy byly zapojené v prstenci). Takto propojená GPU vidí a sdílejí paměť ostatních v unifikovaném prostoru.

Do systému k procesoru se karty připojují přes PCI Express 4.0 ×16, tedy klasicky.

ROCm 4.0

Programování těchto akcelerátorů bude probíhat přes softwarovou vrstvu AMD ROCm, která teď vychází v nové verzi ROCm 4.0, kde podle AMD má být už vše v produkčních verzích, zatímco předchozí verze ROCm 2.0 a 3.0 ještě měly některé komponenty nekompletní nebo v beta fázi. Její součástí je také framework HIP, který umožňuje relativně snadné (podle AMD) portování kódu určeného pro platformu Nvidia CUDA – velká část konverze má být automatická. Pokud je kód napsaný či převedený do jazyka HIP, může pak být nasazen jak na platformě AMD/ROCm, tak na Nvidia CUDA.

Programování má být ale možné také „ve stylu CPU“, kdy AMD pracuje na podpoře instrukční sady CDNA v kompilátoru LLVM (a GNU Debuggeru). Takto by mělo být možné zkompilovat přímo pro GPU kód v C, C++ nebo Fortranu.

Šance GPU AMD na větší díl v AI/výpočtech?

AMD uvádí, že tyto karty by měly být dostupné ještě letos v serverech/produktech OEM partnerů. Měly by se objevit v systémech od HPE (Hewlett Packard Enterprise), firmy Supermicro, Gigabyte a také Dellu.

Akcelerátor Instinct A100 a jeho platforma AMD ROCm to nebude mít zrovna lehké. Míří na trh, kde má Nvidia silně dominantní postavení, které skrze kód v CUDA funguje až jako tzv. vendor lock-in. Je ale možné, že teď AMD Instinct začne posilovat a získávat nějaký tržní podíl jako to (hodně pomalu) dělají serverové procesory AMD Epyc proti Intelu, protože Arcturus je přece jen pokročilejší konkurence než v minulosti.

Jednak v tom, že má konečně specializované jednotky pro akceleraci AI, které předchozím výpočetním GPU od AMD chyběly. Ale také v tom, že jde o serióznější pokus. Poslední Radeon Isntinct MI50 a MI60 byl značně limitovaný v tom, že firma z nějakého důvodu (patrně šlo o architektonické omezení) nebyla schopná či ochotná vyškálovat GPU na větší množství výpočetních jednotek než je 64 CU – přestože výsledný čip byl velmi malý a tudíž nebyl omezený plochou.

bitcoin_skoleni

Naproti tomu Arcturus s plochou křemíku přes 600 mm² touto chybou netrpí. Využívá schopností TSMC vyrobit velký čip, a tím pádem má větší šanci ve výkonu konkurovat. Má tedy lepší výchozí podmínky, ale úspěch proti Nvidii samozřejmě bude vyžadovat od Instinctu MI100, aby v praxi prokázal i další kvality.

Odhalení výpočetní karty AMD Instinct MI100 s architekturou CDNA

Zdroje: Tom's Hardware, AMD (1, 2)