Larrabee (mikroarchitektura) - Larrabee (microarchitecture)

Architektura GPU Larrabee, odhalená na konferenci SIGGRAPH v srpnu 2008.

Larrabee je kódové označení zrušeného čipu GPGPU, který Intel vyvíjel odděleně od své současné řady integrovaných grafických akcelerátorů . Je pojmenována po Mount Larrabee nebo Larrabee State Park v Whatcom County, Washington, poblíž města Bellingham. Čip měl být vydán v roce 2010 jako jádro spotřebitelské 3D grafické karty, ale tyto plány byly zrušeny kvůli zpožděním a zklamáním počátečních údajů o výkonu. Projekt výroby maloobchodního produktu GPU přímo z výzkumného projektu Larrabee byl ukončen v květnu 2010 a jeho technologie byla předána společnosti Xeon Phi . Intel MIC více procesory architektury bylo oznámeno v roce 2010 zdědil mnoho designových prvků z projektu Larrabee, ale nefunguje jako grafický procesor; produkt je určen jako koprocesor pro vysoce výkonné výpočty.

Téměř o deset let později, 12. června 2018; myšlenka vyhrazeného grafického procesoru Intel byla znovu oživena (jako Intel Xe ) s přáním společnosti Intel vytvořit diskrétní GPU, které má být spuštěno do roku 2020. Zda však tento nový vývoj souvisí s vývojem Larrabee, zůstává nejisté.

Stav projektu

4. prosince 2009 společnost Intel oficiálně oznámila, že Larrabee první generace nebude vydán jako spotřební produkt GPU. Místo toho měl být vydán jako vývojová platforma pro grafiku a vysoce výkonné výpočty . Oficiální důvod strategického resetu byl přičítán zpožděním ve vývoji hardwaru a softwaru. 25. května 2010 blog Technology@Intel oznámil, že Larrabee nebude vydán jako GPU, ale místo toho bude vydán jako produkt pro vysoce výkonné počítače konkurující Nvidia Tesla .

Projekt výroby maloobchodního produktu GPU přímo z výzkumného projektu Larrabee byl ukončen v květnu 2010. Víceprocesorová architektura Intel MIC oznámená v roce 2010 zdědila mnoho designových prvků z projektu Larrabee, ale nefunguje jako jednotka pro zpracování grafiky; produkt je určen jako koprocesor pro vysoce výkonné výpočty. Prototypová karta dostala název Knights Ferry , výrobní karta postavená na 22 nm procesu s názvem Knights Corner byla plánována na výrobu v roce 2012 nebo později.

Srovnání s konkurenčními produkty

Podle společnosti Intel má Larrabee plně programovatelný kanál, na rozdíl od grafických karet současné generace, které jsou programovatelné pouze částečně.

Larrabee lze považovat za hybrid mezi vícejádrovým CPU a GPU a má podobnost s oběma. Jeho soudržná hierarchie mezipaměti a kompatibilita architektury x86 jsou podobné CPU, zatímco její široké vektorové jednotky SIMD a hardware pro vzorkování textur jsou podobné GPU.

Jako GPU by Larrabee podporoval tradiční rastrovanou 3D grafiku ( Direct3D a OpenGL ) pro hry. Jeho hybridizace funkcí CPU a GPU však měla být také vhodná pro obecné úlohy GPU (GPGPU) nebo zpracování streamu . Jako součást superpočítače mohl například provádět sledování paprsků nebo zpracování fyziky v reálném čase pro hry nebo offline pro vědecký výzkum .

Larrabeeova raná prezentace vzbudila u konkurentů GPU kritiku. Na NVision 08 , An Nvidia zaměstnanec s názvem Intel SIGGRAPH dokument o Larrabee „marketing nafouknout“ a citoval analytik ( Peter Glaskowsky ), který spekuloval, že Larrabee architektura byla „jako GPU od roku 2006“. V červnu 2009 Intel tvrdil, že prototypy Larrabee jsou na stejné úrovni jako Nvidia GeForce GTX 285 . Justin Rattner , Intel CTO , přednesl hlavní poznámku na konferenci Supercomputing 2009 17. listopadu 2009. Během svého rozhovoru předvedl přetaktovaný procesor Larrabee, který překonal výkon jednoho teraFLOPS. Tvrdil, že to byla první veřejná demonstrace jednočipového systému přesahující jeden teraFLOPS. Poukázal na to, že to byl raný křemík, čímž ponechal otevřenou otázku o případném výkonu architektury. Protože to byla pouze jedna pětina dostupných konkurenčních grafických desek, byl Larrabee 4. prosince 2009 zrušen „jako samostatný diskrétní grafický produkt“.

Rozdíly se současnými GPU

Larrabee se měl odlišovat od starších diskrétních grafických karet , jako jsou řady GeForce 200 a Radeon 4000, třemi hlavními způsoby:

  • Bylo použít sadu instrukcí x86 s rozšířeními specifickými pro Larrabee.
  • Mělo to představovat soudržnost mezipaměti ve všech jejích jádrech.
  • Mělo to zahrnovat velmi málo specializovaného grafického hardwaru, místo toho provádět úkoly, jako je ukládání do vyrovnávací paměti, ořezávání a míchání v softwaru, pomocí přístupu vykreslování založeného na dlaždicích .

Očekávalo se, že díky tomu bude Larrabee flexibilnější než současné GPU, což umožní větší rozlišení vzhledu mezi hrami nebo jinými 3D aplikacemi. Dokument společnosti Intel SIGGRAPH 2008 zmínil několik funkcí vykreslování, kterých bylo u současných GPU obtížné dosáhnout: čtení cíle vykreslování, transparentnost nezávislá na pořadí , nepravidelné stínové mapování a raytracing v reálném čase .

Novější GPU, jako ATI Radeon HD 5xxx a Nvidia GeForce 400 Series, nabízejí stále širší možnosti obecného využití výpočetní techniky prostřednictvím DirectX11 DirectCompute a OpenCL, jakož i proprietární technologii CUDA společnosti Nvidia , která jim poskytuje mnoho funkcí Larrabee.

Rozdíly s CPU

Jádra procesoru x86 v Larrabee se lišila několika způsoby od jader v současných procesorech Intel, jako jsou Core 2 Duo nebo Core i7 :

  • Jeho jádra x86 vycházela z mnohem jednoduššího designu P54C Pentium, který je stále udržován pro použití ve vestavěných aplikacích. Jádro odvozené od P54C je superskalární, ale nezahrnuje provádění mimo pořadí , přestože bylo aktualizováno o moderní funkce, jako je podpora x86-64 , podobná mikroarchitektuře Bonnell používané v Atomu . Provádění v pořadí znamená nižší výkon pro jednotlivá jádra, ale protože jsou menší, na jeden čip se vejde více, což zvyšuje celkovou propustnost. Provádění je také determinističtější, takže instrukce a plánování úkolů může provádět kompilátor.
  • Každé jádro obsahovalo 512bitovou jednotku pro zpracování vektorů , schopnou zpracovat 16 jednoduchých přesných čísel s plovoucí desetinnou čárkou najednou. To je podobné, ale čtyřikrát větší než jednotky SSE na většině procesorů x86, s dalšími funkcemi, jako jsou pokyny pro scatter/collect a registr masky navržený tak, aby používání vektorové jednotky bylo snazší a efektivnější. Larrabee měl z těchto vektorových jednotek odvodit většinu své síly k lámání čísel.
  • To zahrnovalo jednu velkou pevnou funkcí grafické hardwarové funkce: textura vzorkovací jednotky . Provádějí trilineární a anizotropní filtrování a dekompresi textur .
  • Mělo 1024bitovou (512bitovou v každém směru) prstenovou sběrnici pro komunikaci mezi jádry a pamětí. Tuto sběrnici lze konfigurovat ve dvou režimech pro podporu produktů Larrabee se 16 a více jádry nebo s méně než 16 jádry.
  • Zahrnovalo explicitní pokyny pro ovládání mezipaměti, aby se omezilo vyprázdnění mezipaměti během streamovacích operací, které čtou/zapisují data pouze jednou. Podporováno je také explicitní předběžné načítání do mezipaměti L2 nebo L1.
  • Každé jádro podporovalo čtyřcestné prokládané vícevláknové zpracování se čtyřmi kopiemi každého registru procesoru .

Teoreticky by procesory x86 Larrabee mohly provozovat stávající počítačový software nebo dokonce operační systémy. V paticích CPU základní desky používající QuickPath by mohla sedět jiná verze procesoru , ale Intel to nikdy neoznámil. Ačkoli Larrabeeho nativní kompilátor C/C ++ zahrnoval automatickou vektorizaci a mnoho aplikací bylo schopno správně provést poté, co byly znovu zkompilovány, očekávalo se, že maximální účinnost bude vyžadovat požadovanou optimalizaci kódu pomocí vnitřních vektorů C ++ nebo vloženého montážního kódu Larrabee. Nicméně, stejně jako ve všech GPGPU, ne každý software by měl prospěch z využití jednotky pro zpracování vektorů. Jedna stránka technologické žurnalistiky tvrdí, že Larrabeeho grafické schopnosti byly plánovány tak, aby byly integrovány do CPU na základě mikroarchitektury Haswell .

Srovnání s širokopásmovým motorem Cell

Larrabeeova filozofie používání mnoha malých jednoduchých jader byla podobná myšlenkám za procesorem Cell . Existuje několik dalších společných rysů, například použití kruhové sběrnice s vysokou šířkou pásma pro komunikaci mezi jádry. V implementaci však bylo mnoho významných rozdílů, od kterých se očekávalo, že programování Larrabee bude jednodušší.

  • Procesor Cell obsahuje jeden hlavní procesor, který ovládá mnoho menších procesorů. Na hlavním procesoru navíc může běžet operační systém. Naproti tomu všechna Larrabeeova jádra jsou stejná a od Larrabee se neočekávalo, že bude používat OS.
  • Každé jádro počítače v buňce ( SPE ) má místní úložiště, pro které se pro všechny přístupy k DRAM používají explicitní ( DMA ) operace. Běžná čtení a zápisy do DRAM nejsou povoleny. V Larrabee jsou všechny paměti na čipech i mimo čipy pod automaticky spravovanou hierarchií koherentní mezipaměti , takže její jádra prakticky sdílejí jednotný paměťový prostor pomocí pokynů pro standardní kopírování ( MOV ). Každé jádro Larrabee mělo 256 kB místní mezipaměti L2 a přístup, který zasáhne jiný segment L2, trvá déle.
  • Kvůli výše uvedené koherenci mezipaměti měl každý program běžící v Larrabee prakticky velkou lineární paměť, stejně jako v tradičním univerzálním CPU; vzhledem k tomu, že aplikace pro Cell by měla být naprogramována s ohledem na omezenou paměťovou stopu místního úložiště spojenou s každým SPE (podrobnosti viz tento článek ), ale s teoreticky vyšší šířkou pásma. Protože je však přístup k místnímu L2 rychlejší, je stále možné získat výhodu v používání metod programování ve stylu buněk.
  • Cell využívá DMA pro přenos dat do az místních pamětí na čipu, což umožňuje explicitní údržbu překryvů uložených v místní paměti, aby se paměť přiblížila k jádru a snížila latenci přístupu, ale vyžaduje další úsilí k zachování soudržnosti s hlavní pamětí; vzhledem k tomu, že Larrabee používal soudržnou mezipaměť se speciálními instrukcemi pro manipulaci s mezipamětí (zejména rady pro vyprazdňování mezipaměti a pokyny pro předběžné načítání), které zmírňovaly sankce za vynechání a vyhození a omezily znečištění mezipaměti (např. pro vykreslování potrubí a další výpočet podobný proudu) za cenu další provoz a režie, aby byla zachována soudržnost mezipaměti.
  • Každé výpočetní jádro v buňce spouští vždy jen jedno vlákno v pořadí. Jádro v Larrabee vedlo až ke čtyřem vláknům, ale pouze po jednom. Larrabeeho hyperthreading pomohl skrýt latence spojené s prováděním v pořadí.

Srovnání s Intel GMA

Intel začal integrovat řadu GPU na základní desky pod značkou Intel GMA v roce 2004. Vzhledem k tomu, že byly integrovány na základní desky (novější verze, například ty, které byly vydány s Sandy Bridge, jsou začleněny do stejné matrice jako CPU), tyto čipy nebyly prodávány samostatně. Ačkoli nízké náklady a spotřeba energie čipů Intel GMA je činí vhodnými pro malé notebooky a méně náročné úkoly, postrádají výkon zpracování 3D grafiky, aby mohly konkurovat současným grafickým procesorům Nvidia a AMD/ATI o podíl na trhu špičkových herních počítačů , trh HPC nebo místo v populárních videoherních konzolách . Naproti tomu Larrabee měl být prodáván jako diskrétní GPU, oddělený od základních desek, a očekávalo se, že bude dostatečně dobře fungovat i v další generaci videoherních konzolí.

Tým pracující na Larrabee byl oddělený od týmu Intel GMA. Hardware byl navržen nově vytvořeným týmem společnosti Intel v Hillsboro v Oregonu , odděleně od těch, které navrhly Nehalem . Software a ovladače byly napsány nově vytvořeným týmem. 3D stack konkrétně napsali vývojáři z RAD Game Tools (včetně Michaela Abrasha ).

Intel Visual Computing Institute bude zkoumat základní a aplikované technologie, které by mohly být aplikovány na produkty založené na Larrabee.

Předpokládané údaje o výkonu

Srovnávací výsledky z papíru SIGGRAPH 2008, který ukazuje předpokládaný výkon jako přibližnou lineární funkci počtu jader zpracování

Dokument společnosti Intel SIGGRAPH 2008 popisuje simulace přesné pro cyklus (včetně omezení paměti, mezipaměti a jednotek textur) předpokládaného výkonu Larrabee. Grafy ukazují, kolik jader Larrabee 1 GHz je zapotřebí k udržení 60 snímků/s při rozlišení 1600 × 1200 v několika populárních hrách. Pro Gears of War bez antialiasingu je zapotřebí zhruba 25 jader , 25 jader pro FEAR se 4 × antialiasingem a 10 jader pro Half-Life 2: Episode 2 se 4 × antialiasingem. Intel tvrdil, že Larrabee pravděpodobně poběží rychleji než 1 GHz, takže tato čísla nepředstavují skutečná jádra, ale spíše virtuální časové spoje. Další graf ukazuje, že výkon těchto her se škáluje téměř lineárně s počtem jader až 32 jader. Při 48 jádrech výkon klesá na 90% toho, co by se dalo očekávat, pokud by lineární vztah pokračoval.

Článek z PC Watch z června 2007 naznačil, že první čipy Larrabee budou obsahovat 32 procesorových jader x86 a vyjdou na konci roku 2009, vyrobené 45nanometrovým procesem . Čipy s několika vadnými jádry kvůli problémům s výtěžkem by se prodávaly jako 24jádrová verze. Později v roce 2010 by se Larrabee zmenšil na 32 nanometrový výrobní proces, který by umožnil 48jádrovou verzi.

Poslední prohlášení o výkonu lze vypočítat (teoreticky jde o maximální možný výkon) takto: 32 jader × 16 jednopřesný float SIMD/jádro × 2 FLOP (fúzované násobení) × 2 GHz = 2 TFLOPS teoreticky.

Veřejné demonstrace

Veřejná demonstrace schopností sledování paprsků Larrabee proběhla na Intel Developer Forum v San Francisku 22. září 2009. Raný přístav bývalého výzkumného projektu založeného na CPU Quake Wars: Ray Trace d byl ukázán v reálném čase. Scéna obsahovala paprskem sledovanou vodní hladinu, která přesně odrážela okolní objekty, jako loď a několik létajících vozidel.

Druhé demo bylo předneseno na konferenci SC09 v Portlandu 17. listopadu 2009 během klíčového proslovu Intel CTO Justina Rattnera . Karta Larrabee dokázala dosáhnout 1006 GFLops ve výpočtu SGEMM 4Kx4K.

Technický vzorek karty Larrabee obstaral a zkontroloval Linus Sebastian ve videu zveřejněném 14. května 2018. Nebyl však schopen zajistit, aby karta poskytovala video výstup, přičemž základní deska zobrazuje POST kód D6.

Viz také

Reference

externí odkazy