000 04911nam a22005415i 4500
001 978-3-031-01758-2
003 DE-He213
005 20240730163715.0
007 cr nn 008mamaa
008 220601s2018 sz | s |||| 0|eng d
020 _a9783031017582
_9978-3-031-01758-2
024 7 _a10.1007/978-3-031-01758-2
_2doi
050 4 _aTK7867-7867.5
072 7 _aTJFC
_2bicssc
072 7 _aTEC008010
_2bisacsh
072 7 _aTJFC
_2thema
082 0 4 _a621.3815
_223
100 1 _aBell, Steven.
_eauthor.
_4aut
_4http://id.loc.gov/vocabulary/relators/aut
_980082
245 1 0 _aCompiling Algorithms for Heterogeneous Systems
_h[electronic resource] /
_cby Steven Bell, Jing Pu, James Hegarty, Mark Horowitz.
250 _a1st ed. 2018.
264 1 _aCham :
_bSpringer International Publishing :
_bImprint: Springer,
_c2018.
300 _aXV, 89 p.
_bonline resource.
336 _atext
_btxt
_2rdacontent
337 _acomputer
_bc
_2rdamedia
338 _aonline resource
_bcr
_2rdacarrier
347 _atext file
_bPDF
_2rda
490 1 _aSynthesis Lectures on Computer Architecture,
_x1935-3243
505 0 _aPreface -- Acknowledgments -- Introduction -- Computations and Compilers -- Image Processing with Stencil Pipelines -- Darkroom: A Stencil Language for Image Processing -- Programming CPU/FPGA Systems from Halide -- Interfacing with Specialized Hardware -- Conclusions and Future Directions -- Bibliography -- Authors' Biographies.
520 _aMost emerging applications in imaging and machine learning must perform immense amounts of computation while holding to strict limits on energy and power. To meet these goals, architects are building increasingly specialized compute engines tailored for these specific tasks. The resulting computer systems are heterogeneous, containing multiple processing cores with wildly different execution models. Unfortunately, the cost of producing this specialized hardware-and the software to control it-is astronomical. Moreover, the task of porting algorithms to these heterogeneous machines typically requires that the algorithm be partitioned across the machine and rewritten for each specific architecture, which is time consuming and prone to error. Over the last several years, the authors have approached this problem using domain-specific languages (DSLs): high-level programming languages customized for specific domains, such as database manipulation, machine learning, or image processing. By giving up generality, these languages are able to provide high-level abstractions to the developer while producing high-performance output. The purpose of this book is to spur the adoption and the creation of domain-specific languages, especially for the task of creating hardware designs. In the first chapter, a short historical journey explains the forces driving computer architecture today. Chapter 2 describes the various methods for producing designs for accelerators, outlining the push for more abstraction and the tools that enable designers to work at a higher conceptual level. From there, Chapter 3 provides a brief introduction to image processing algorithms and hardware design patterns for implementing them. Chapters 4 and 5 describe and compare Darkroom and Halide, two domain-specific languages created for image processing that produce high-performance designs for both FPGAs and CPUs from the same source code, enabling rapid design cycles and quick porting of algorithms. The final section describes how the DSL approach also simplifies the problem of interfacing between application code and the accelerator by generating the driver stack in addition to the accelerator configuration. This book should serve as a useful introduction to domain-specialized computing for computer architecture students and as a primer on domain-specific languages and image processing hardware for those with more experience in the field.
650 0 _aElectronic circuits.
_919581
650 0 _aMicroprocessors.
_980083
650 0 _aComputer architecture.
_93513
650 1 4 _aElectronic Circuits and Systems.
_980084
650 2 4 _aProcessor Architectures.
_980085
700 1 _aPu, Jing.
_eauthor.
_4aut
_4http://id.loc.gov/vocabulary/relators/aut
_980086
700 1 _aHegarty, James.
_eauthor.
_4aut
_4http://id.loc.gov/vocabulary/relators/aut
_980087
700 1 _aHorowitz, Mark.
_eauthor.
_4aut
_4http://id.loc.gov/vocabulary/relators/aut
_980088
710 2 _aSpringerLink (Online service)
_980089
773 0 _tSpringer Nature eBook
776 0 8 _iPrinted edition:
_z9783031000553
776 0 8 _iPrinted edition:
_z9783031006302
776 0 8 _iPrinted edition:
_z9783031028861
830 0 _aSynthesis Lectures on Computer Architecture,
_x1935-3243
_980090
856 4 0 _uhttps://doi.org/10.1007/978-3-031-01758-2
912 _aZDB-2-SXSC
942 _cEBK
999 _c84897
_d84897