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:
V souvislosti s počtem jader u příchozího Larrabee se zmiňuje nejčastěji počet okolo 32 jader na čipu. Intel je schopen na plochu jádra o velikosti Core 2 Duo se 4MB L2 cache vyrobené 65nm postupem vměstnat 10 jader Larrabee. V řeči čísel to znamená, že na 143mm2 se při 65nm procesu vejde 10 jader. Pokud zdvojnásobíme počet jader na 20, tak se dostaneme na plochu jádra o velikosti 286mm2, což je zhruba stejná velikost jako má čip ATI RV770 na 55nm procesu. Pokud bychom počet jader ještě jednou zdvojnásobili, pak se dostaneme na obří plochu 572mm2, a to je zhruba stejná plocha jakou má bumbrlíček Nvidia GT200 vyráběná 65nm procesem.
Ilustrativní graf společnosti Intel – nárůst výkonu v závislosti na počtu jader
Vezměme v úvahu pokročilejší výrobní proces 45nm a hned se nám plocha samotného čipu dostane někde k 60-70% původní hodnoty. Plocha Larrabee vyrobeného 45nm procesem (to je pro první samply velmi pravděpodobné) se vejde s přehledem okolo 360-380mm2. Poté zvažme ještě náklady na výrobu podobného čipu, což znamená především výtěžnost a to, kolik se podobných jader vejde na jeden wafer. Celé počítaní tedy přispělo k tomu, že Intel bude velmi pravděpodobně mít možnost diferencovat nabídku od low-endu s 24 jádry po high-end s ohromnými 64 jádry.
Samply se 64 jádry mohou příjit velmi snadno po přechodu Intelu na 32nm výrobní proces, což Intel plánuje už příští rok, a to je také rok, kdy by mělo přijít Larrabee na trh. Ohromný počet 64 jader by ovšem mohl znamenat velký problém pro napájení celého čipu, které by čistě teoreticky mohlo přesáhnout možnosti současného napájení z přídavných konektorů a PCIe slotu. Nikdo ovšem zatím neví, kolik může jádro podobného designu spotřeboval energie. IBM Cell tolik náročný na energii není, ale je potřeba vzít v úvahu jiný design čipu.
Intel má letité know-how v navrhování super rychlých cache s nízkými latencemi, což ostatně zúročuje ve zbrusu nové architektuře Nehalem. L1 a L2 cache se ovšem nevyužívá pouze u procesorů, ale najdeme je rovněž v grafických jádrech z produkce AMD a Nvidie. Propastný rozdíl je ovšem v tom, jak je která cache rychlá. Zpracování vektorových výpočtů klade nároky především na rychlost cache a co nejkratšímu přístupu k datům v ní uložených.
Jak jsme si v krátkosti zmínili v jedné z předchozích kapitol, Larrabee disponuje L1 cache o velikosti 32kB, což je 4x více než velikost L1 cache u původního Pentia, které disponovalo pouhými 8 kB. Důvod tohoto přesného násobku zvýšení L1 cache je především v tom, že jádro Larrabee má 4-way SMT (Simultaneous Multi-Threading), což znamená, že dokáže současně zpracovávat 4x více vláken než původní Pentium. Proto je také velikost L1 cache zvýšena na 32 kB kvůli vybalancování výkonů.
Zdroj: Anandtech - Intel's Larrabee Architecture Disclosure: A Calculated First Move
Intel se rozhodl, že pro všechna jádra na čipu bude společná L2 cache, kde každé jádro bude mít vyhrazeno svou malou část. V případě 8 jádrového Larrabee L2 cache dosahuje velikosti 2 MB, v případě 32 jádrového Larrabee je to již celých 8 MB a když vezmeme v potaz do budoucna vznik extrémního 64 jádrového bumbrlíčka na 32nm procesu, musíme počítat s umístěním 16MB L2 cache. Jak jste si jistě již spočítali, každé jádro bude mít k dispozici 256kB L2 cache pro svou práci. Díky využití Tile-based renderingu je tato velikost dostatečná, respektive přesněji řečeno přesně vypočítána pro potřeby při těchto specifických operacích s danou velikostí pole (128x128).
Když bychom chtěli porovnat velikosti L1 a L2 cache u grafických jader Nvidia GT200 a AMD RV770, tak máme prostě smůlu, protože společnosti tento údaj neuvádějí. Usuzovat můžeme pouze z počtu jednotlivých operací, které vidíte v ilustrační tabulce, což je přinejmenším pošetilé. Podle expertů totiž na architektury neexistuje přímá úměra mezi velikostmi cache u CPU a GPU s ohledem na počet cachovaných operací. Z výše uvedených je čísel je také patrné, že čipy RV770 budou mít velikosti obou cache vysoko nad kapacitami obou dalších řešení. Důvod je pravděpodobně složitější superskalární architektura shaderů a nutnost speciálního kompileru pro zpracováný kód. Do toho nám ovšem nehraje fakt, že Larrabee jej potřebuje taktéž a počet jeho jednotek je ještě daleko vyšší.
Ilustrativní graf společnosti Intel – nárůst výkonu v závislosti na počtu jader
Vezměme v úvahu pokročilejší výrobní proces 45nm a hned se nám plocha samotného čipu dostane někde k 60-70% původní hodnoty. Plocha Larrabee vyrobeného 45nm procesem (to je pro první samply velmi pravděpodobné) se vejde s přehledem okolo 360-380mm2. Poté zvažme ještě náklady na výrobu podobného čipu, což znamená především výtěžnost a to, kolik se podobných jader vejde na jeden wafer. Celé počítaní tedy přispělo k tomu, že Intel bude velmi pravděpodobně mít možnost diferencovat nabídku od low-endu s 24 jádry po high-end s ohromnými 64 jádry.
Samply se 64 jádry mohou příjit velmi snadno po přechodu Intelu na 32nm výrobní proces, což Intel plánuje už příští rok, a to je také rok, kdy by mělo přijít Larrabee na trh. Ohromný počet 64 jader by ovšem mohl znamenat velký problém pro napájení celého čipu, které by čistě teoreticky mohlo přesáhnout možnosti současného napájení z přídavných konektorů a PCIe slotu. Nikdo ovšem zatím neví, kolik může jádro podobného designu spotřeboval energie. IBM Cell tolik náročný na energii není, ale je potřeba vzít v úvahu jiný design čipu.
Jak funguje cache u Larrabee?
Intel má letité know-how v navrhování super rychlých cache s nízkými latencemi, což ostatně zúročuje ve zbrusu nové architektuře Nehalem. L1 a L2 cache se ovšem nevyužívá pouze u procesorů, ale najdeme je rovněž v grafických jádrech z produkce AMD a Nvidie. Propastný rozdíl je ovšem v tom, jak je která cache rychlá. Zpracování vektorových výpočtů klade nároky především na rychlost cache a co nejkratšímu přístupu k datům v ní uložených.
Jak jsme si v krátkosti zmínili v jedné z předchozích kapitol, Larrabee disponuje L1 cache o velikosti 32kB, což je 4x více než velikost L1 cache u původního Pentia, které disponovalo pouhými 8 kB. Důvod tohoto přesného násobku zvýšení L1 cache je především v tom, že jádro Larrabee má 4-way SMT (Simultaneous Multi-Threading), což znamená, že dokáže současně zpracovávat 4x více vláken než původní Pentium. Proto je také velikost L1 cache zvýšena na 32 kB kvůli vybalancování výkonů.
Zdroj: Anandtech - Intel's Larrabee Architecture Disclosure: A Calculated First Move
Intel se rozhodl, že pro všechna jádra na čipu bude společná L2 cache, kde každé jádro bude mít vyhrazeno svou malou část. V případě 8 jádrového Larrabee L2 cache dosahuje velikosti 2 MB, v případě 32 jádrového Larrabee je to již celých 8 MB a když vezmeme v potaz do budoucna vznik extrémního 64 jádrového bumbrlíčka na 32nm procesu, musíme počítat s umístěním 16MB L2 cache. Jak jste si jistě již spočítali, každé jádro bude mít k dispozici 256kB L2 cache pro svou práci. Díky využití Tile-based renderingu je tato velikost dostatečná, respektive přesněji řečeno přesně vypočítána pro potřeby při těchto specifických operacích s danou velikostí pole (128x128).
Když bychom chtěli porovnat velikosti L1 a L2 cache u grafických jader Nvidia GT200 a AMD RV770, tak máme prostě smůlu, protože společnosti tento údaj neuvádějí. Usuzovat můžeme pouze z počtu jednotlivých operací, které vidíte v ilustrační tabulce, což je přinejmenším pošetilé. Podle expertů totiž na architektury neexistuje přímá úměra mezi velikostmi cache u CPU a GPU s ohledem na počet cachovaných operací. Z výše uvedených je čísel je také patrné, že čipy RV770 budou mít velikosti obou cache vysoko nad kapacitami obou dalších řešení. Důvod je pravděpodobně složitější superskalární architektura shaderů a nutnost speciálního kompileru pro zpracováný kód. Do toho nám ovšem nehraje fakt, že Larrabee jej potřebuje taktéž a počet jeho jednotek je ještě daleko vyšší.