An Introduction to Parallel and Vector Scientific Computation

Ronald W. Shonkwiler, Lew Lefton

  • 出版商: Cambridge University Press
  • 出版日期: 2006-08-14
  • 售價: $1,050
  • 貴賓價: 9.5$998
  • 語言: 英文
  • 頁數: 300
  • 裝訂: Paperback
  • ISBN: 0521683378
  • ISBN-13: 9780521683371

下單後立即進貨 (3週~5週)



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.