AMD si chystá Infinity Fabric pro spojení CPU a GPU, co nabídne?
4.3.2020, Jan Vítek, aktualita
Sběrnici Infinity Fabric známe především díky procesorům generace Zen, ovšem později jsme se dozvěděli, že AMD nabízí i možnost propojení GPU pomocí této sběrnice. Ovšem co spojení CPU a GPU?
AMD má jedinečnou možnost využít svou vlastní sběrnici pro propojení CPU a GPU, a to jednoduše proto, že je nyní stále ještě jedinou společností vyrábějící si vlastní procesory x86 a příslušné grafiky. K tomu přímo vyzývá sběrnice Infinity Fabric, která byla představena společně s prvními procesory generace Zen jako způsob propojení jednotlivých CCX, jader i celých procesorů. Později AMD začalo nabízet i propojení jednotlivých Radeonů Instinct pomocí Infinity Fabric (zde tak obdoba NVLink) a později při příležitosti představení záměru postavit nejvýkonnější superpočítač světa zvaný Frontier nám AMD naznačilo, že chce nabídnout i možnost propojení CPU a GPU včetně sdílení paměti.
Právě o tomto propojení procesorů a grafických čipů se v tomto týdnu mluvilo i na konferenci Rice Oil and Gas HPC, což dokládá prezentace firmy AMD.
Stačí se podívat na první snímek a je zřejmé, že jde vysokorychlostní spojení procesoru EPYC s až čtyřmi kartami Radeon Instinct, přičemž jde jednak o komunikaci mezi CPU a kartami a pak i mezi kartami samotnými. Informace o tom nám poskytl ve svém tweetu Hatem Ltaief z Extreme Computing Research Center.
Memory coherency supported by @AMD hardware technology fabric may increase user productivity and code performance on heterogeneous architectures. #OGHPC #HPC #ROCm #GPU pic.twitter.com/1fFyhGAcJX
— Hatem Ltaief (@HatemLtaief) March 2, 2020
Dá se přitom říci, že taková věc už v produktech AMD dávno funguje, neboť pomocí Infinity Fabric je propojena CPU a GPU část v moderních APU založených na architekturách Zen a Vega, ovšem v případě EPYC a Radeon Instinct to pochopitelně bude přeci jen jiné. Předně nepůjde už o komunikaci v rámci jednoho kusu křemíku a také tu bude více komponent.
Firmě AMD jde o dosažení tzv. cache coherency, čili schopnosti využít paměť různých zařízení jako společný a konzistentní zdroj dat pro všechna, což vyžaduje velice rychlé a pohotové přenosy, jak AMD ostatně slibuje na úvodním snímku. Jde třeba o případ, kdy CPU má ve své paměti data, která už sám pro své úlohy nepotřebuje, ale chce je naopak jedno z GPU. To normálně bez spojité paměti vyžaduje, aby byla data přesunuta z paměti CPU do paměti GPU a po jejich zpracování možná i zpět a to je samozřejmě zdlouhavé a představuje to nutné snížení výkonu. Pokud si ale GPU bude moci s dostatečnou propustností a nízkou latencí sáhnout přímo do paměti procesoru, bude to znamenat mnohem efektivnější a rychlejší práci, a to pochopitelně i z hlediska spotřeby. A jak ukazuje další slide, půjde i o jednodušší práci pro programátory.
Vypadá to přitom, že v tomto ohledu asi uvidíme souboj mezi AMD a Intelem s tím, že NVIDIA z něj bude pochopitelně vyloučena, leda by přijala standard někoho jiného a bylo jí to umožněno. Intel sám si chystá grafické čipy či akcelerátory Ponte Vecchio, které se zase uplatní v superpočítači Aurora pro americké Ministerstvo energetiky. A v souvislosti s tím jsme se nedávno podívali na tzv. Rambo Cache, což bude rovněž paměť sdílená jak několika čipy Xe, tak i hlavním procesorem. Implementace ale nakonec může být odlišná od toho, co připravuje AMD, ale to se ještě uvidí. Rambo Cache ostatně nemusí být nějakou zvláštní novou pamětí zavedenou nad rámec ostatních. Může jít jen o přejmenování typu paměti, jenž tu dávno byl, jako když Intel zavedl označení Smart Cache.
Zdroj: Tom's Hardware