- Series: Scientific and Engineering Computation
- Paperback: 384 pages
- Publisher: The MIT Press; Scientific and Engin edition (October 12, 2007)
- Language: English
- ISBN-10: 0262533022
- ISBN-13: 978-0262533027
- Product Dimensions: 8 x 0.6 x 9 inches
- Shipping Weight: 1.4 pounds (View shipping rates and policies)
- Average Customer Review: 8 customer reviews
- Amazon Best Sellers Rank: #436,106 in Books (See Top 100 in Books)
To get the free app, enter your mobile phone number.
Using OpenMP: Portable Shared Memory Parallel Programming (Scientific and Engineering Computation) Scientific and Engin Edition
Use the Amazon App to scan ISBNs and compare prices.
All Books, All the Time
Read author interviews, book reviews, editors picks, and more at the Amazon Book Review. Read it now
Frequently bought together
Customers who bought this item also bought
The advent of readily-available inexpensive multi-core processors has made parallel programming more important and more accessible than ever before. OpenMP is a popular way to write parallel programs, and this book makes OpenMP knowledge available to the average programmer in an understandable, easy-to-apply fashion, while still providing information for those who wish to dive more deeply into the subject.(Larry Meadows, CEO, the OpenMP ARB)
About the Author
Barbara Chapman is Professor of Computer Science at the University of Houston. Gabriele Jost is Principal Member of Technical Staff, Application Server Performance Engineering, at Oracle, Inc. Ruud van der Pas is Senior Staff Engineer at Sun Microsystems, Menlo Park.
Top customer reviews
Chapter one contains some background information on OpenMP and its applications. You can skip it if you are not interested in this or already know the material.
Chapter two is a brief overview of the features of OpenMP at a high level. It discusses how OpenMP deals with problems that come from the complex memory hierarchy that exists on modern computers.
Chapter three is a good starting point if you know you need OpenMP, know why you need it, and just need to get something going. It discusses a complete OpenMP program in both C and Fortran that uses a couple of OpenMP's most widely used features, plus it explains the basics of the OpenMP syntax. The problem discussed is specifically how to perform a matrix times a vector operation in parallel.
Chapter four is a more complete overview of the OpenMP programming paradigm and it contains many example programs. First the most widely used features are introduced with a focus on those features that enable work to be shared among multiple threads. The scope narrows until the author is down to some of OpenMP's less widely known features. The programs start simple and get more complex as the chapter progresses, always staying within the field of scientific computing.
Chapters five and six go together, and discuss how to optimize performance with OpenMP. There are a number of practical programming tips and an extended example that gives insight into the process of investigating performance problems.
Chapter seven talks about program correctness and troubleshooting. This can be hard to do in shared-memory parallel programs.
Chapter 8 is on translation by the compiler of an OpenMP program into an application that can be executed in parallel. It talks about behind the scenes occurrences with OpenMP computing including the operation of OpenMP-aware compilers, performance tools, and debuggers. It also discusses strategies for obtaining high performance.
Chapter 9 is a special topics chapter and discusses trends that could influence extensions to the OpenMP specification in the future. Obviously it is not necessary for the practicing professional to know this, but it is interesting.
My perspective is that of someone that knows I must use OpenMP, and I need good concrete examples and an accompanying tutorial to get me going. Chapters three through eight were ideal for my purpose. Other books I examined ran the gamut from talking about why OpenMP is important and lacking practical details, to overpriced textbooks, to books that were about OpenMP plus some other parallel programming paradigms and weren't specific or modern enough. This one is clear, concise, modern, and the price can't be beat. The only drawback for me was the dual emphasis on C and Fortran, but then I'm sure the Fortran information is still useful to a good number of programmers.
I really like the book because it's all you need to get started. This is a great introduction, but the authors could probably write a more example-intensive text and really bring their points out. For instance, I can think of at least one section where a real code was used. It illustrated their point very well. I feel like if they did this more often during the text, they could write a much more comprehensive text. I might not buy another OpenMP book, but because this book doesn't deliver extensive examples, I'm tempted to keep looking around.