Compiling Algorithms for Heterogeneous Systems
Väčšina nových aplikácií v oblasti zobrazovania a strojového učenia musí vykonávať obrovské množstvo výpočtov a zároveň dodržiavať prísne limity energie a výkonu. Na splnenie týchto cieľov architekti vytvárajú čoraz špecializovanejšie výpočtové motory prispôsobené na tieto špecifické úlohy. Výsledné počítačové systémy sú heterogénne a obsahujú viacero výpočtových jadier s veľmi odlišnými modelmi vykonávania. Bohužiaľ, náklady na výrobu tohto špecializovaného hardvéru - a softvéru na jeho ovládanie - sú astronomické. Navyše úloha prenosu algoritmov na tieto heterogénne stroje si zvyčajne vyžaduje, aby sa algoritmus rozdelil na celý stroj a prepísal pre každú špecifickú architektúru, čo je časovo náročné a náchylné na chyby.
V posledných rokoch autori pristupovali k tomuto problému pomocou doménovo špecifických jazykov (DSL): vysokoúrovňových programovacích jazykov prispôsobených pre špecifické oblasti, ako je napríklad manipulácia s databázami, strojové učenie alebo spracovanie obrazu. Tým, že sa tieto jazyky vzdávajú všeobecnosti, dokážu vývojárom poskytnúť abstrakcie na vysokej úrovni a zároveň produkovať vysoko výkonné výstupy. Cieľom tejto knihy je podnietiť prijatie a tvorbu doménovo špecifických jazykov, najmä pre úlohu tvorby hardvérových návrhov.
V prvej kapitole sa v krátkom historickom prehľade vysvetľujú sily, ktoré dnes určujú architektúru počítačov. V druhej kapitole sa opisujú rôzne metódy tvorby návrhov pre akcelerátory, pričom sa načrtáva snaha o väčšiu abstrakciu a nástroje, ktoré umožňujú návrhárom pracovať na vyššej koncepčnej úrovni. Odtiaľ kapitola 3 poskytuje stručný úvod do algoritmov spracovania obrazu a hardvérových návrhových vzorov na ich implementáciu. Kapitoly 4 a 5 opisujú a porovnávajú Darkroom a Halide, dva doménovo špecifické jazyky vytvorené pre spracovanie obrazu, ktoré vytvárajú vysoko výkonné návrhy pre FPGA aj CPU z toho istého zdrojového kódu, čo umožňuje rýchle návrhové cykly a rýchle prenášanie algoritmov. V záverečnej časti sa opisuje, ako prístup DSL zjednodušuje aj problém prepojenia medzi aplikačným kódom a akcelerátorom tým, že okrem konfigurácie akcelerátora generuje aj zásobník ovládačov.
Táto kniha by mala slúžiť ako užitočný úvod do doménovo špecializovaných počítačov pre študentov počítačovej architektúry a ako učebnica doménovo špecializovaných jazykov a hardvéru na spracovanie obrazu pre tých, ktorí majú v tejto oblasti viac skúseností.
© Book1 Group - všetky práva vyhradené.
Obsah tejto stránky nesmie byť kopírovaný ani použitý čiastočne alebo v celku bez písomného súhlasu vlastníka.
Posledná úprava: 2024.11.13 22:11 (GMT)