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 již nějaký ten pátek uvolňoval informace o svém novém produktu Larrabee. Mnozí vykřikovali, že Intel na poli grafických karet nemá šanci, neboť ani takový gigant, jakým je, nemůže dohnat několik let náskoku lídrů v oblasti grafických karet, jakými jsou bezesporu AMD s divizí ATI a Nvidia. Intel chce tedy nastoupit do segmentu grafických karet s něčím, co si interně označil jako Larrabee. Divné jméno pro ještě divnější kus hardware. Larrabee totiž i přesto, že směřuje do segmentu grafických karet, není grafickou kartou. Jedná se ve skutečnosti o CPU!
Larrabee je tedy navrženo tak, aby mohlo zpracovávat obecný kód stejně jako procesor trůnící v patici vaší základní desky. Naproti tomu grafické karty jsou úzce zaměřenými procesory pro zpracovávání specifického kódu, který zase opět velmi úzce závisí na použitém rozhraní (API), což v případě grafických karet znamená DirectX nebo OpenGL. Naproti tomu Larrabee může zpracovávat libovolný kód, což značně rozšiřuje možnosti jeho využití. Jedná se totiž o tzv. „general purpose“ procesor, to označuje univerzální výpočetní jednotku schopnou zpracovat libovolný x86 kód. Velkou neznámou prozatím zůstává, zda bude moci konkurovat tak úzce specializovaným zařízením jako jsou grafické čipy.
Wafer Polaris s 80-jádrovými procesory Intel
Multi-core procesor Cell od IBM staví na podobných principech jako Larrabee. Architektury obou řešení jsou poněkud odlišné, ale jistou paralelu najít můžeme. Pokud si tedy hned na začátku utřídíme a zafixujeme dvě zásadní skutečnosti, že Larrabee není GPU a ani ho neemuluje, tak nám to pomůže na pozdějších stranách tohoto článku lépe porozumět snažení Intelu a pravému nasazení této revoluční novinky. Intel se s námi poprvé podělil o informace týkající se celé architektury Larrabee. Pokud si myslíte, že Larrabee je nejexkluzivnějším zbožím Intelu, pak se podívejte na ilustrační obrázek waferu Polaris s 80-jádrovými procesory (jedná se o prototyp procesoru z programu Intel Tera-scale).
Intel neměl žádné zkušenosti s výrobou výkonných grafických jader a jeho snažení se vždy omezovala na málo výkonná integrovaná řešení, která byla vhodná maximálně pro práci v desktopu (kancelářské aplikace atd.). Jenže Intel nebyl tak samolibý, aby si myslel, že dokáže porazit své rivaly tím, že začne vyvíjet své vlastní GPU (Graphics Processing Unit). Proto začal přemýšlet, jak využít své know-how z oblasti procesorů a jejich výroby . Zde se zrodila myšlenka Larrabee.
Vývojáři věděli, že potřebují dosáhnout co možná největšího výkonu při zpracování vektorových výpočtů (ty jsou zásadní pro výkon čipu při zpracování grafiky), neboť jedině za pomocí toho mohou mít šanci postavit solidní „GPU“. Jedinou možností pro dosažení podobného výkonu bylo řešení, kde bude integrováno několik jader. Když Intel propočítal, kolik je třeba potenciálního výkonu, tak lehce zjistil, že stávající architektura Core mu neumožní postavit čip s tolika jádry, aby dosáhl požadovaného výkonu.
Pokud bychom vzali jedno jádro dvoujádrového procesoru Core 2 Duo s L2 cache okolo 4 MB, tak se na stejnou plochu vejde více (konkrétně podle výpočtů Anandtechu 10-12) jader starší architektury Pentium. Ano, stará dobrá architektura Pentium, která byla vyráběna výrobním procesem 600-800 nm. V případě, že bychom tuto architekturu vyráběli dnešním 45nm procesem, tak krom možnosti vyšších frekvencí získáme také značnou úsporu místa. Jedno samotné jádro architektury se samozřejmě nemůže měřit s pokročilou architekturou Core v dnešních aplikacích.
Zdroj: Anandtech - Intel's Larrabee Architecture Disclosure: A Calculated First Move
Uvažujeme ale dále. Vytvořme si hypotetický procesor Larrabee s 10 jádry „Pentium“ a postavme jej proti dvoujádrovému procesoru na architektuře Core, který máme v patici základní desky. U jedno-vláknového (single-threaded) výpočtu srazíme Larrabee na kolena, jelikož dokáže zpracovat pouze dvě operace za takt a jediný procesor Core 2 Duo bude díky možnosti zpracovat až 8 operací (2x4 operace u dual-core) jednoznačně rychlejší. Situace se ale drasticky změní, když začneme poptávat zpracování vektorových operací (multi-threaded) a procesoru v patici základní desky necháme běžné operace. Jednoduchým výpočtem zjistíme, že jeden procesor Larrabee s 10 jádry by byl schopen spočítat 160 vektorových operací za takt. A to je značný rozdíl!
Velkým problémem bude uzpůsobit klasickou instrukční sadu tohoto x86 procesoru tak, aby bylo efektivně využito všech jader. Jak jsme již říkali na počátku, výpočty GPU jsou do značné míry specifické a nevhodné pro zpracování obyčejným procesorem.
Larrabee je tedy navrženo tak, aby mohlo zpracovávat obecný kód stejně jako procesor trůnící v patici vaší základní desky. Naproti tomu grafické karty jsou úzce zaměřenými procesory pro zpracovávání specifického kódu, který zase opět velmi úzce závisí na použitém rozhraní (API), což v případě grafických karet znamená DirectX nebo OpenGL. Naproti tomu Larrabee může zpracovávat libovolný kód, což značně rozšiřuje možnosti jeho využití. Jedná se totiž o tzv. „general purpose“ procesor, to označuje univerzální výpočetní jednotku schopnou zpracovat libovolný x86 kód. Velkou neznámou prozatím zůstává, zda bude moci konkurovat tak úzce specializovaným zařízením jako jsou grafické čipy.
Wafer Polaris s 80-jádrovými procesory Intel
Multi-core procesor Cell od IBM staví na podobných principech jako Larrabee. Architektury obou řešení jsou poněkud odlišné, ale jistou paralelu najít můžeme. Pokud si tedy hned na začátku utřídíme a zafixujeme dvě zásadní skutečnosti, že Larrabee není GPU a ani ho neemuluje, tak nám to pomůže na pozdějších stranách tohoto článku lépe porozumět snažení Intelu a pravému nasazení této revoluční novinky. Intel se s námi poprvé podělil o informace týkající se celé architektury Larrabee. Pokud si myslíte, že Larrabee je nejexkluzivnějším zbožím Intelu, pak se podívejte na ilustrační obrázek waferu Polaris s 80-jádrovými procesory (jedná se o prototyp procesoru z programu Intel Tera-scale).
Jak Intel postupoval při navrhování Larrabee
Intel neměl žádné zkušenosti s výrobou výkonných grafických jader a jeho snažení se vždy omezovala na málo výkonná integrovaná řešení, která byla vhodná maximálně pro práci v desktopu (kancelářské aplikace atd.). Jenže Intel nebyl tak samolibý, aby si myslel, že dokáže porazit své rivaly tím, že začne vyvíjet své vlastní GPU (Graphics Processing Unit). Proto začal přemýšlet, jak využít své know-how z oblasti procesorů a jejich výroby . Zde se zrodila myšlenka Larrabee.
Vývojáři věděli, že potřebují dosáhnout co možná největšího výkonu při zpracování vektorových výpočtů (ty jsou zásadní pro výkon čipu při zpracování grafiky), neboť jedině za pomocí toho mohou mít šanci postavit solidní „GPU“. Jedinou možností pro dosažení podobného výkonu bylo řešení, kde bude integrováno několik jader. Když Intel propočítal, kolik je třeba potenciálního výkonu, tak lehce zjistil, že stávající architektura Core mu neumožní postavit čip s tolika jádry, aby dosáhl požadovaného výkonu.
Pokud bychom vzali jedno jádro dvoujádrového procesoru Core 2 Duo s L2 cache okolo 4 MB, tak se na stejnou plochu vejde více (konkrétně podle výpočtů Anandtechu 10-12) jader starší architektury Pentium. Ano, stará dobrá architektura Pentium, která byla vyráběna výrobním procesem 600-800 nm. V případě, že bychom tuto architekturu vyráběli dnešním 45nm procesem, tak krom možnosti vyšších frekvencí získáme také značnou úsporu místa. Jedno samotné jádro architektury se samozřejmě nemůže měřit s pokročilou architekturou Core v dnešních aplikacích.
Zdroj: Anandtech - Intel's Larrabee Architecture Disclosure: A Calculated First Move
Uvažujeme ale dále. Vytvořme si hypotetický procesor Larrabee s 10 jádry „Pentium“ a postavme jej proti dvoujádrovému procesoru na architektuře Core, který máme v patici základní desky. U jedno-vláknového (single-threaded) výpočtu srazíme Larrabee na kolena, jelikož dokáže zpracovat pouze dvě operace za takt a jediný procesor Core 2 Duo bude díky možnosti zpracovat až 8 operací (2x4 operace u dual-core) jednoznačně rychlejší. Situace se ale drasticky změní, když začneme poptávat zpracování vektorových operací (multi-threaded) a procesoru v patici základní desky necháme běžné operace. Jednoduchým výpočtem zjistíme, že jeden procesor Larrabee s 10 jádry by byl schopen spočítat 160 vektorových operací za takt. A to je značný rozdíl!
Velkým problémem bude uzpůsobit klasickou instrukční sadu tohoto x86 procesoru tak, aby bylo efektivně využito všech jader. Jak jsme již říkali na počátku, výpočty GPU jsou do značné míry specifické a nevhodné pro zpracování obyčejným procesorem.