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 |