Intel Larrabee: nová éra výpočetní techniky
27.8.2008, Petr Štefek, článek
Exotické pojmenování Larrabee coby nové technologie Intelu je možná revolucí v oblasti akcelerování grafiky ve hrách a jistě je políčkem do tváře sebevědomé Nvidie s platformou CUDA. Příští rok nás může čekat jedna z nejzajímavějších epoch akcelerace grafiky.
Kapitoly článku:
- Intel Larrabee: nová éra výpočetní techniky
- Larrabee – úplně obyčejné Pentium? Nikoli!
- Larrabee vs. grafické jádro – pokračujeme hlouběji
- Kolik jader bude mít Larrabee?
- Budou programátoři Larrabee milovat?
- Rasterizer vs. velikost externí paměti
- Blíží se doba multi-core systémů?
Každého z vás jistě zajímá, jaký je vlastně rozdíl mezi Larrabee postaveným na architektuře CPU a GPU Nvidia/ATI postavených na výkonu stream procesorů. Srovnáme si proto stěžejní vektorovou ALU Larrabee se stream procesory v jádrech Nvidia GT200 a ATI RV770. Toto srovnání samozřejmě proběhne na vysoce teoretické úrovni, a proto ho nelze brát jako univerzální.
Na ilustračním obrázku vidíme vnitřní strukturu jádra Larrabee, kde hlavní roli ve výpočtech okolo zpracování grafiky hraje vektorová ALU, která je v našem případě alternativou klasickému stream procesoru v jádře grafické karty. ATI RV770 je složeno ze 160 superskalárních procesorů, kde každá z nich má 5 výpočetních jednotek. Nvidia se svým jádrem GT200 disponuje 240 jednoduchými jednotkami v podobě stream procesorů.
Srovnání jádra Larrabee se současnou špičkou AMD (RV770) a Nvidia (GT200)
Larrabee má naproti tomu v každém jádře aritmeticko-logickou vektorovou jednotku, která zvládne 16 operací za takt (16-wide ALU), což ve srovnání s mnoha procesory u klasického GPU nevypadá příliš dobře, ovšem pouze do té doby, než si uvědomíme, že přídavná karta Larrabee bude mít velmi pravděpodobně někde mezi 32 až 48 jádry. Teoreticky tedy může vynásobit 16 počtem jader umístěných na celém čipu. Poté již srovnání s GPU a jejich počtem procesorů nevypadá tak beznadějně, jak se mohlo na první pohled zdát.
AMD a Nvidia přistupují k návrhům GPU poněkud odlišně. AMD dává přednost složitým procesorům s pěticí jednotek. Pro využití všech jednotek a maximálně efektivní práci ovšem také potřebují čipy AMD vysoce efektivní kompilátor.
Závislost vektorových ALU v mnoha jádrech Larrabee schopných zpracovat 16 operací za takt bude enormně vysoká na špičkovém kompilátoru, který pomůže vytvořit ideální podmínky pro maximálně efektivní využití všech jader současně. Naneštěstí pro ostatní, Intel má jedny z nejlepších řešení tohoto druhu.
Ring-bus známe jíž od příchodu jádra ATI R600, které disponovalo tehdy horkou novinkou v podobě obousměrné ring-bus sběrnice se šířkou 1024-bit (kombinace čtyř 256-bit sběrnic – 512-bit pro zápis/čtení). Larrabee bude také disponovat velmi pravděpodobně sběrnicí ring-bus se šířkou 512-bit v každém směru, což při frekvenci samotného jádra bude znamenat propustnost, o které si mohou řešení Nvidia a AMD nechat zdát. Samotná sběrnice tak bude pracovat na taktu vyšším než 2 GHz a bude synchronizována s jádrem.
Grafické čipy společností AMD a Nvidia mají dnes v naprosté většině integrováno několik 64-bit paměťových ovladačů, které v kombinaci dávají násobkem svého počtu šířku sběrnice. Standardní grafický akcelerátor je do značné míry závislý právě na propustnosti sběrnice, která v kombinaci s paměťovými čipy na GDDR na určité frekvenci dává poté celkovou propustnost paměťového subsystému. Je pravděpodobné, že Larrabee bude díky velmi odlišnému designu čipu mnohem méně závislé na propustnosti sběrnice než klasický grafický akcelerátor.
Ilustrativní struktura jader využívajících společnou L2 cache a jejich napojení na paměťové řadiče.
AMD od sběrnice ring-bus na nejnovějších grafických kartách upustilo, ale rozhodně ne proto, že by se jednalo o špatné řešení. Nové karty na jádrech RV770 využívají klasické 256-bit sběrnice v tandemu s nejnovějšími paměťovými čipy GDDR5, což dává dohromady slušnou propustnost nelimitující celé řešení. Implementace ring-bus je poměrně náročná na tranzistory a AMD nepotřebovalo hasit to, co ho nepálí, a tak využilo jednodušší řešení. Výsledná propustnost s GDDR5 čipy je více než dostatečná.
Pro Intel je naproti tomu ring-bus ideální pro spojení mnoha jader, které spolu potřebují vzájemně komunikovat. Protože Larrabee má společnou velkou L2 cache, ze které je vyhrazeno 256kB pro každé jádro, je nutné udržovat data v této společné cache koherentní (spojitou) a co možná nejvíce usnadnit výše zmiňovanou výměnu velkého množství dat a jejich případné sdílení. Intel má pro využití sběrnice typu ring-bus tedy opravdu opodstatnění.
Na ilustračním obrázku vidíme vnitřní strukturu jádra Larrabee, kde hlavní roli ve výpočtech okolo zpracování grafiky hraje vektorová ALU, která je v našem případě alternativou klasickému stream procesoru v jádře grafické karty. ATI RV770 je složeno ze 160 superskalárních procesorů, kde každá z nich má 5 výpočetních jednotek. Nvidia se svým jádrem GT200 disponuje 240 jednoduchými jednotkami v podobě stream procesorů.
Srovnání jádra Larrabee se současnou špičkou AMD (RV770) a Nvidia (GT200)
Larrabee má naproti tomu v každém jádře aritmeticko-logickou vektorovou jednotku, která zvládne 16 operací za takt (16-wide ALU), což ve srovnání s mnoha procesory u klasického GPU nevypadá příliš dobře, ovšem pouze do té doby, než si uvědomíme, že přídavná karta Larrabee bude mít velmi pravděpodobně někde mezi 32 až 48 jádry. Teoreticky tedy může vynásobit 16 počtem jader umístěných na celém čipu. Poté již srovnání s GPU a jejich počtem procesorů nevypadá tak beznadějně, jak se mohlo na první pohled zdát.
AMD a Nvidia přistupují k návrhům GPU poněkud odlišně. AMD dává přednost složitým procesorům s pěticí jednotek. Pro využití všech jednotek a maximálně efektivní práci ovšem také potřebují čipy AMD vysoce efektivní kompilátor.
Závislost vektorových ALU v mnoha jádrech Larrabee schopných zpracovat 16 operací za takt bude enormně vysoká na špičkovém kompilátoru, který pomůže vytvořit ideální podmínky pro maximálně efektivní využití všech jader současně. Naneštěstí pro ostatní, Intel má jedny z nejlepších řešení tohoto druhu.
Larrabee a ring-bus sběrnice
Ring-bus známe jíž od příchodu jádra ATI R600, které disponovalo tehdy horkou novinkou v podobě obousměrné ring-bus sběrnice se šířkou 1024-bit (kombinace čtyř 256-bit sběrnic – 512-bit pro zápis/čtení). Larrabee bude také disponovat velmi pravděpodobně sběrnicí ring-bus se šířkou 512-bit v každém směru, což při frekvenci samotného jádra bude znamenat propustnost, o které si mohou řešení Nvidia a AMD nechat zdát. Samotná sběrnice tak bude pracovat na taktu vyšším než 2 GHz a bude synchronizována s jádrem.
Grafické čipy společností AMD a Nvidia mají dnes v naprosté většině integrováno několik 64-bit paměťových ovladačů, které v kombinaci dávají násobkem svého počtu šířku sběrnice. Standardní grafický akcelerátor je do značné míry závislý právě na propustnosti sběrnice, která v kombinaci s paměťovými čipy na GDDR na určité frekvenci dává poté celkovou propustnost paměťového subsystému. Je pravděpodobné, že Larrabee bude díky velmi odlišnému designu čipu mnohem méně závislé na propustnosti sběrnice než klasický grafický akcelerátor.
Ilustrativní struktura jader využívajících společnou L2 cache a jejich napojení na paměťové řadiče.
AMD od sběrnice ring-bus na nejnovějších grafických kartách upustilo, ale rozhodně ne proto, že by se jednalo o špatné řešení. Nové karty na jádrech RV770 využívají klasické 256-bit sběrnice v tandemu s nejnovějšími paměťovými čipy GDDR5, což dává dohromady slušnou propustnost nelimitující celé řešení. Implementace ring-bus je poměrně náročná na tranzistory a AMD nepotřebovalo hasit to, co ho nepálí, a tak využilo jednodušší řešení. Výsledná propustnost s GDDR5 čipy je více než dostatečná.
Pro Intel je naproti tomu ring-bus ideální pro spojení mnoha jader, které spolu potřebují vzájemně komunikovat. Protože Larrabee má společnou velkou L2 cache, ze které je vyhrazeno 256kB pro každé jádro, je nutné udržovat data v této společné cache koherentní (spojitou) a co možná nejvíce usnadnit výše zmiňovanou výměnu velkého množství dat a jejich případné sdílení. Intel má pro využití sběrnice typu ring-bus tedy opravdu opodstatnění.