Compiling Algorithms for Heterogeneous Systems
A képalkotás és a gépi tanulás területén a legtöbb újonnan megjelenő alkalmazásnak óriási mennyiségű számítást kell végeznie, miközben szigorú energia- és teljesítménykorlátokat kell betartania. E célok elérése érdekében az építészek egyre speciálisabb, az adott feladatokra szabott számítási motorokat építenek. Az így létrejövő számítógépes rendszerek heterogének, több feldolgozómagot tartalmaznak, amelyek teljesen eltérő végrehajtási modellekkel rendelkeznek. Sajnos e speciális hardverek - és a vezérlésükhöz szükséges szoftverek - előállítási költségei csillagászati összegekbe kerülnek. Ráadásul az algoritmusok ilyen heterogén gépekre való átültetése általában azt igényli, hogy az algoritmust a gépen belül felosszák, és minden egyes architektúrára újraírják, ami időigényes és hibalehetőségekkel jár.
Az elmúlt néhány évben a szerzők ezt a problémát a szakterület-specifikus nyelvek (DSL-ek) segítségével közelítették meg: ezek olyan magas szintű programozási nyelvek, amelyeket speciális szakterületekre szabtak, mint például az adatbázis-kezelés, a gépi tanulás vagy a képfeldolgozás. Azáltal, hogy lemondanak az általánosságról, ezek a nyelvek képesek magas szintű absztrakciókat nyújtani a fejlesztőnek, miközben nagy teljesítményű kimenetet produkálnak. E könyv célja, hogy ösztönözze a szakterület-specifikus nyelvek elfogadását és létrehozását, különösen a hardvertervek készítésének feladatára.
Az első fejezetben egy rövid történelmi utazás ismerteti a mai számítógép-architektúrát mozgató erőket. A 2. fejezet ismerteti a gyorsítók tervezésére szolgáló különböző módszereket, felvázolva a nagyobb absztrakcióra való törekvést és azokat az eszközöket, amelyek lehetővé teszik a tervezők számára, hogy magasabb koncepcionális szinten dolgozzanak. Ezt követően a 3. fejezet röviden bemutatja a képfeldolgozási algoritmusokat és az ezek megvalósításához szükséges hardvertervezési mintákat. A 4. és 5. fejezet a Darkroomot és a Halide-ot ismerteti és hasonlítja össze, két olyan, képfeldolgozásra létrehozott domain-specifikus nyelvet, amelyek ugyanazon forráskódból nagy teljesítményű terveket készítenek FPGA-kra és CPU-kra egyaránt, lehetővé téve a gyors tervezési ciklusokat és az algoritmusok gyors portolását. Az utolsó szakasz leírja, hogy a DSL-megközelítés hogyan egyszerűsíti az alkalmazáskód és a gyorsító közötti kapcsolódás problémáját is azáltal, hogy a gyorsító konfigurációján kívül az illesztőprogram stackjét is generálja.
Ez a könyv hasznos bevezetésként szolgálhat a szakterület-specifikus számítástechnikába a számítógép-architektúrát tanuló hallgatók számára, és a szakterület-specifikus nyelvek és a képfeldolgozó hardverek alapozójaként a szakterületen már tapasztaltabbak számára.
© Book1 Group - minden jog fenntartva.
Az oldal tartalma sem részben, sem egészben nem másolható és nem használható fel a tulajdonos írásos engedélye nélkül.
Utolsó módosítás időpontja: 2024.11.13 21:05 (GMT)