Designing and Building Parallel Programs is a book for students and professionals who need to know how to write parallel programs. It is neither a programming language manual nor an academic treatise on algorithms. Instead, it approaches parallel programming as an engineering activity, in which programs are developed in a methodical fashion and both cost and performance are considered at each stage in a design. It is intended as both an introduction to parallel programming and a practitioner's guide for programmers, engineers, and scientists developing programs for parallel and distributed computer systems.

The book comprises three parts, covering design, tools, and resources. The first part provides a thorough discussion of parallel algorithm design, performance analysis, and program construction, illustrating fundamental principles with numerous examples. The second part provides a practitioner's guide to four parallel programming tools: the languages CC++ and Fortran M, and the de facto standards High Performance Fortran and Message Passing Interface. It also desribes a number of performance tools. The third part provides extensive references to the literature.

Designing and Building Parallel Programs (Online) is what you are reading now: a larger, constantly-evolving companion resource accessible via the Internet. In addition to the content of the book, the online version gives access to example programs, parallel tools, online bibliographies, educational material, and a wealth of other information.