Compiling Algorithms for Heterogeneous Systems (Synthesis Lectures on Computer Architecture)
暫譯: 異構系統的編譯演算法(計算機架構綜合講座)

Steven Bell, Jing Pu, James Hegarty

  • 出版商: Morgan & Claypool
  • 出版日期: 2018-01-17
  • 售價: $1,900
  • 貴賓價: 9.5$1,805
  • 語言: 英文
  • 頁數: 106
  • 裝訂: Paperback
  • ISBN: 162705961X
  • ISBN-13: 9781627059619
  • 相關分類: Algorithms-data-structures
  • 立即出貨 (庫存=1)

買這商品的人也買了...

商品描述

Most 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.

商品描述(中文翻譯)

大多數新興的影像和機器學習應用必須在嚴格的能量和功率限制下執行大量的計算。為了達成這些目標,架構師正在建造越來越專門化的計算引擎,以適應這些特定任務。由此產生的計算機系統是異構的,包含多個具有截然不同執行模型的處理核心。不幸的是,生產這些專用硬體及其控制軟體的成本是天文數字。此外,將演算法移植到這些異構機器的任務通常需要將演算法在機器上進行分區,並為每個特定架構重新編寫,這既耗時又容易出錯。

在過去幾年中,作者們使用領域特定語言(DSLs)來解決這個問題:這些是為特定領域(如資料庫操作、機器學習或影像處理)定制的高級程式語言。通過放棄通用性,這些語言能夠為開發者提供高級抽象,同時產生高效能的輸出。本書的目的是促進領域特定語言的採用和創建,特別是在硬體設計的創建任務中。

在第一章中,簡短的歷史旅程解釋了當今推動計算機架構的力量。第二章描述了為加速器產生設計的各種方法,概述了對更高抽象層次的推動以及使設計者能夠在更高概念層次上工作的工具。接下來,第三章簡要介紹了影像處理演算法和實現它們的硬體設計模式。第四章和第五章描述並比較了 Darkroom 和 Halide 這兩種為影像處理創建的領域特定語言,這些語言能夠從相同的源代碼生成高效能的設計,適用於 FPGA 和 CPU,從而實現快速的設計週期和演算法的快速移植。最後一部分描述了 DSL 方法如何通過生成驅動程式堆疊以及加速器配置來簡化應用程式代碼與加速器之間的介面問題。

本書應該能夠為計算機架構學生提供有用的領域專門計算入門,並為在該領域有更多經驗的人提供領域特定語言和影像處理硬體的入門指南。

最後瀏覽商品 (20)