- 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: 9 customer reviews
- Amazon Best Sellers Rank: #874,018 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
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.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
Frequently bought together
Customers who bought this item also bought
Customers who viewed this item also viewed
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.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
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.
Another problem with the book is that starting in Chapter 3, they used TeX floating figures for code snippets and output. The issue is that on several occasions I had to think about where the actual text continued. I have written enough TeX to work it out. Turn the page ... let's see... what is this? ... it's \tt font ... look down a bit and see a figure caption in a slightly smaller font ... so this is the output from the code on the previous page ... ah the text picks back up here. I would have put a box around every figure for clarity.
On to the content. Chapters 1-3 are a fine intro to parallel computing. Chapter 4 is a description of OpenMP syntax. This is the heart of OpenMP, and they only give the most basic description of the various pragmas used in OpenMP. This chapter is really lacking. They do not add any extra insight or knowledge or tips or anything. I wanted this chapter to fundamentally deeper than say Blaise Barney's (of LLNL) online tutorial, but it is not. Chapters 5 and 6 give two case studies in optimizing OpenMP code. Nothing great, nothing bad. Chapters 7 and 8 saved the book for me. Chapter 7 gives several examples of incorrect usage and mistakes I could have seen myself making. Chapter 8 gives some insight into what is happening behind the scenes which is very helpful. Chapter 9 talks about the "future" of OpenMP. This book covers OpenMP 2.5; OpenMP 3.0 is now out. So, it is fun compare their predictions with what is in 3.0. For example, they predicted the collapse clause correctly.
Given that I read through to Chapters 7 and 8, how bad could the book be? It is not that it is bad, it is just that it should be better, much better.