Video: Machine Learning on FPGAs: Circuit Architecture and FPGA Implementation (Listopad 2024)
Jedním z nejzajímavějších trendů, které jsem viděl v serverových počítačích, je odklon od standardních procesorů a směrem k dalšímu zpracování na grafických čipech (GPU) a konfigurovatelným procesorům známým jako polní programovatelná hradlová pole (FPGA). Tento jev je často označován jako heterogenní výpočetní technika.
Koncept zde není nový - GPU a další akcelerátory jsou ve vysoce výkonných počítačích (HPC) nebo superpočítačích stále běžnější roky. Ale v poslední době jsme se dozvěděli více o tom, jak Intel přizpůsobil některé balíčky serverových čipů tak, aby kromě tradičních procesorů zahrnovaly také FPGA, zaměřené hlavně na velké poskytovatele cloud computingu v hyperscale, kteří mají specifické algoritmy, které mohou na FPGA spustit jako hardwarové pokyny. To by mělo být mnohem rychlejší než jejich spuštění jako softwaru podle obecnějších instrukcí CPU.
To byl klíčový faktor nedávného plánu Intelu na získání výrobce FPGA Altera. CEO společnosti Intel Brian Krzanich řekl, že očekává, že až 30 procent cloudového pracovního vytížení bude mít do konce dekády nějakou akceleraci FPGA. Microsoft již používá Altera FPGA k napájení mnoha svých cloudových služeb, jako je vyhledávání Bing.
Ve většině společností používajících FPGA - nebo v tomto případě GPU - došlo k jedné velké překážce - v typičtějších případech podnikových výpočtů: to, že software pracuje na těchto čipech souběžně s procesorem, je prostě těžké. (Pro firemní pracovní zátěž a dokonce i HPC budete vždy potřebovat některé procesory; v jiných druzích aplikací, jako jsou síťové sítě, mohou hardwarové společnosti používat pouze FPGA.) Pro GPU computing jsme viděli věci jako NUDia CUDA a Khronos Standard OpenCL skupiny, který věci usnadňuje, a určitě jsme viděli mnoho algoritmů HPC a strojového učení využívajících GPU. Nyní výrobci FPGA, jako je Altera, podporují také OpenCL, ale v obecnějším případě podnikových výpočtů je to příliš obtížné.
V poslední době jsem mluvil s několika společnostmi, které doufají, že to usnadní.
Bitfusion je spuštění, které jsem poprvé viděl na TechCrunch Disrupt; jeho technologie je zaměřena na to, aby vám umožnila přesunout aplikaci z procesoru na GPU nebo FPGA bez přepsání pro každou platformu. Jak vysvětlil CEO Subbu Rama, balíček nyní funguje hledáním společných open-source knihoven používaných vývojáři softwaru a nahrazením funkcí v nich funkcemi, které mohou využívat výhod GPU nebo FPGA. Jak vysvětlil, velké společnosti by mohly být schopny přepsat svůj kód, ale společnosti na středním trhu to nemohou. Aplikace zahrnují vědecké práce na počítači, finanční aplikace, jako je analýza rizik a vysokofrekvenční obchodování, a analytika dat, jako je práce s daty senzorů ropy a plynu.
Nakonec řekl, že by to mohlo fungovat s jakýmkoli jazykem, který takové knihovny nazývá. Poznamenal, že výměna knihoven nemusí být tak účinná jako psaní vlastního kódu pro FPGA nebo GPU, ale je to mnohem jednodušší.
Bitfusion plánuje nabízet své produkty ve třech různých modelech - jako čistý software pro společnosti, které již mají vlastní akcelerátory; předinstalovaný na spotřebičích; nebo pro aplikace nasazené v cloudu prostřednictvím partnerství s Rackspace. Zpočátku to bude používat FPGA Altera, i když společnost tvrdí, že by mohla fungovat také s jinými procesory. Rama říká, že to zákazníci nyní využívají, s veřejnou dostupností plánovanou v příštích několika měsících.
SRC zaujímá poněkud odlišný přístup. Od roku 1999 vytváří pro vládní agentury „rekonfigurovatelné servery“ a nyní vytváří řešení zaměřené na hyperscale datová centra a webové operace. S názvem server Saturn 1 se jedná o kazetu, která se připojuje k šasi Moonshot HP, a SRC tvrdí, že může poskytnout výkon počítače, který je obvykle 100krát rychlejší než u tradičních mikroprocesorových návrhů. (Společnost také prodává větší stojanové a plné systémy, obvykle pro své větší zákazníky.)
To odlišuje je speciální kompilátor známý jako Carte, který převádí kód na křemíkový design, který může běžet na architektuře FPGA, podle CEO Jon Huppenthal. Řekl mi, že SRC strávil roky vytvářením kompilátoru, původně pro firemní zákazníky, protože firma byla založena v 90. letech průkopníkem superpočítačů Seymourem Crayem a Jimem Guzym. Jeden rozdíl v přístupu SRC, řekl, je, že Carte není určen pro generické systémy, ale spíše je vázán konkrétně na architekturu SRC, což mu dává větší výkon a konzistenci. Saturn 1 používá dva FPGA Altera - jeden, který spouští uživatelský kód; druhý, který udržuje systém běží rychle, spolu s jedním procesorem Intel. V současné době dodává, že je na 12. generaci konfigurovatelných procesorů.
Jedná se o dražší řešení zaměřené převážně na poměrně velká výpočetní centra, ale je stále dostupnější než dřívější přístupy.
Myšlenka použití FPGA nebo rekonfigurovatelných procesorů pro více běžných úkolů není nová. Trvalo však dlouho, než se to stalo ještě možností pro tradiční zákazníky mimo designéry hardwaru nebo vojenské aplikace. Tyto nové přístupy mohou předvídat začátek běžnějšího používání této technologie - ale pouze v případě, že se vylepšení ceny / výkonu skutečně shodují s požadavky dodavatele a použití této technologie bude snazší. Nové přístupy jsou krokem tímto směrem.