An Introduction to Parallel and Vector Scientific Computation

Ronald W. Shonkwiler, Lew Lefton

  • 出版商: Cambridge
  • 出版日期: 2006-08-14
  • 售價: $1,050
  • 貴賓價: 9.8$1,029
  • 語言: 英文
  • 頁數: 300
  • 裝訂: Paperback
  • ISBN: 0521683378
  • ISBN-13: 9780521683371
  • 下單後立即進貨 (約5~7天)

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

相關主題

商品描述

Description

In this text, students of applied mathematics, science and engineering are introduced to fundamental ways of thinking about the broad context of parallelism. The authors begin by giving the reader a deeper understanding of the issues through a general examination of timing, data dependencies, and communication. These ideas are implemented with respect to shared memory, parallel and vector processing, and distributed memory cluster computing. Threads, OpenMP, and MPI are covered, along with code examples in Fortran, C, and Java. The principles of parallel computation are applied throughout as the authors cover traditional topics in a first course in scientific computing. Building on the fundamentals of floating point representation and numerical error, a thorough treatment of numerical linear algebra and eigenvector/eigenvalue problems is provided. By studying how these algorithms parallelize, the reader is able to explore parallelism inherent in other computations, such as Monte Carlo methods.


• Contains exercises and programming problems as well as suggestions for term projects
• Use of directed acyclic graphs helps students visualize timing and data dependencies which can be critical when using parallel code
• Instruction on programming parallel, vector and distributed memory machines in Fortran, C and Java

Table of Contents

Part I. Machines and Computation: 1. Introduction - the nature of high performance computation; 2. Theoretical considerations - complexity; 3. Machine implementations; Part II. Linear Systems: 4. Building blocks - floating point numbers and basic linear algebra; 5. Direct methods for linear systems and LU decomposition; 6. Direct methods for systems with special structure; 7. Error analysis and QR decomposition; 8. Iterative methods for linear systems; 9. Finding eigenvalues and eigenvectors; Part III. Monte Carlo Methods: 10. Monte Carlo simulation; 11. Monte Carlo optimization; Appendix: programming examples.

商品描述(中文翻譯)

**描述**

在這本書中,應用數學、科學和工程的學生將被介紹到關於平行性廣泛背景的基本思考方式。作者首先通過對時間、數據依賴性和通信的一般性檢視,讓讀者對這些問題有更深入的理解。這些概念在共享記憶體、平行和向量處理以及分散式記憶體叢集計算中得以實現。書中涵蓋了執行緒、OpenMP 和 MPI,並提供了 Fortran、C 和 Java 的程式碼範例。平行計算的原則貫穿始終,作者在介紹科學計算的第一門課程中涵蓋了傳統主題。在浮點數表示和數值誤差的基礎上,對數值線性代數和特徵向量/特徵值問題進行了徹底的探討。通過研究這些演算法如何平行化,讀者能夠探索其他計算中固有的平行性,例如蒙地卡羅方法。

- 包含練習和程式設計問題,以及學期專案的建議
- 使用有向無環圖幫助學生可視化時間和數據依賴性,這在使用平行程式碼時可能至關重要
- 指導如何在 Fortran、C 和 Java 中編程平行、向量和分散式記憶體機器

**目錄**

第一部分:機器與計算:1. 介紹 - 高效能計算的本質;2. 理論考量 - 複雜性;3. 機器實現;第二部分:線性系統:4. 基本構件 - 浮點數和基本線性代數;5. 線性系統的直接方法和 LU 分解;6. 具有特殊結構的系統的直接方法;7. 誤差分析和 QR 分解;8. 線性系統的迭代方法;9. 尋找特徵值和特徵向量;第三部分:蒙地卡羅方法:10. 蒙地卡羅模擬;11. 蒙地卡羅優化;附錄:程式範例。