Automatic Parallelization: An Overview of Fundamental Compiler Techniques (Synthesis Lectures on Computer Architecture)

Samuel P. Midkiff

  • 出版商: Morgan & Claypool
  • 出版日期: 2012-01-01
  • 售價: $1,740
  • 貴賓價: 9.5$1,653
  • 語言: 英文
  • 頁數: 170
  • 裝訂: Paperback
  • ISBN: 1608458415
  • ISBN-13: 9781608458417
  • 相關分類: Compiler
  • 海外代購書籍(需單獨結帳)

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

相關主題

商品描述

Compiling for parallelism is a longstanding topic of compiler research. This book describes the fundamental principles of compiling "regular" numerical programs for parallelism. We begin with an explanation of analyses that allow a compiler to understand the interaction of data reads and writes in different statements and loop iterations during program execution. These analyses include dependence analysis, use-def analysis and pointer analysis. Next, we describe how the results of these analyses are used to enable transformations that make loops more amenable to parallelization, and discuss transformations that expose parallelism to target shared memory multicore and vector processors. We then discuss some problems that arise when parallelizing programs for execution on distributed memory machines. Finally, we conclude with an overview of solving Diophantine equations and suggestions for further readings in the topics of this book to enable the interested reader to delve deeper into the field.

Table of Contents: Introduction and overview / Dependence analysis, dependence graphs and alias analysis / Program parallelization / Transformations to modify and eliminate dependences / Transformation of iterative and recursive constructs / Compiling for distributed memory machines / Solving Diophantine equations / A guide to further reading

商品描述(中文翻譯)

編譯平行處理一直是編譯器研究中的一個長期主題。本書描述了為平行處理編譯「常規」數值程序的基本原則。我們首先解釋了使編譯器能夠理解在程序執行過程中不同語句和迴圈迭代中數據讀取和寫入之間互動的分析方法。這些分析包括依賴分析、使用-定義分析和指標分析。接下來,我們描述了如何利用這些分析的結果來啟用轉換,使迴圈更適合平行化,並討論了將平行性暴露給目標共享內存多核和向量處理器的轉換。我們然後討論了在為分佈式內存機器平行化程序時出現的一些問題。最後,我們以解決丟番圖方程的概述作結,並提供進一步閱讀的建議,以便有興趣的讀者能夠更深入地探索本書所涉及的領域。

目錄:
引言與概述 / 依賴分析、依賴圖與別名分析 / 程序平行化 / 修改和消除依賴的轉換 / 迭代和遞歸結構的轉換 / 為分佈式內存機器編譯 / 解決丟番圖方程 / 進一步閱讀指南