Programming Books C Java PHP Python Learn more Browse Programming Books

Sorry, this item is not available in
Image not available for
Image not available

To view this video download Flash Player


Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $4.93 Gift Card
Trade in
Kindle Edition
Read instantly on your iPad, PC, Mac, Android tablet or Kindle Fire
Buy Price: $23.99
More Buying Choices
Have one to sell? Sell yours here

Using OpenMP: Portable Shared Memory Parallel Programming (Scientific and Engineering Computation) [Paperback]

by Barbara Chapman, Gabriele Jost, Ruud van van der Pas
4.1 out of 5 stars  See all reviews (7 customer reviews)

Buy New
$36.21 & FREE Shipping. Details
Only 11 left in stock (more on the way).
Ships from and sold by Gift-wrap available.
In Stock.
Want it Friday, April 25? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student


Amazon Price New from Used from
Kindle Edition $23.99  
Hardcover --  
Paperback $36.21  
Sell Us Your Books
Get up to 80% back when you sell us your books, even if you didn't buy them at Amazon. Learn more

Book Description

October 12, 2007 0262533022 978-0262533027 Scientific and Engineering Computation

OpenMP, a portable programming interface for shared memory parallel computers, was adopted as an informal standard in 1997 by computer scientists who wanted a unified model on which to base programs for shared memory systems. OpenMP is now used by many software developers; it offers significant advantages over both hand-threading and MPI. Using OpenMP offers a comprehensive introduction to parallel programming concepts and a detailed overview of OpenMP. Using OpenMP discusses hardware developments, describes where OpenMP is applicable, and compares OpenMP to other programming interfaces for shared and distributed memory parallel architectures. It introduces the individual features of OpenMP, provides many source code examples that demonstrate the use and functionality of the language constructs, and offers tips on writing an efficient OpenMP program. It describes how to use OpenMP in full-scale applications to achieve high performance on large-scale architectures, discussing several case studies in detail, and offers in-depth troubleshooting advice. It explains how OpenMP is translated into explicitly multithreaded code, providing a valuable behind-the-scenes account of OpenMP program performance. Finally, Using OpenMP considers trends likely to influence OpenMP development, offering a glimpse of the possibilities of a future OpenMP 3.0 from the vantage point of the current OpenMP 2.5. With multicore computer use increasing, the need for a comprehensive introduction and overview of the standard interface is clear. Using OpenMP provides an essential reference not only for students at both undergraduate and graduate levels but also for professionals who intend to parallelize existing codes or develop new parallel programs for shared memory computer architectures. 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.

Frequently Bought Together

Using OpenMP: Portable Shared Memory Parallel Programming (Scientific and Engineering Computation) + Parallel Programming with MPI + An Introduction to Parallel Programming
Price for all three: $170.85

Buy the selected items together

Customers Who Bought This Item Also Bought

Editorial Reviews


From the Foreword:"I hope that readers will learn to use the full expressibility and power of OpenMP. This book should provide an excellent introduction to beginners, and the performance section should help those with some experience who want to push OpenMP to its limits."--David J. Kuck, Intel Fellow, Software and Solutions Group, and Director, Parallel and Distributed Solutions, Intel Corporation

(David J. Kuck)

"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

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.

Product Details

  • Series: Scientific and Engineering Computation
  • Paperback: 384 pages
  • Publisher: The MIT Press; Scientific and Engineering Computation edition (October 12, 2007)
  • Language: English
  • ISBN-10: 0262533022
  • ISBN-13: 978-0262533027
  • Product Dimensions: 9 x 8.1 x 0.7 inches
  • Shipping Weight: 1.4 pounds (View shipping rates and policies)
  • Average Customer Review: 4.1 out of 5 stars  See all reviews (7 customer reviews)
  • Amazon Best Sellers Rank: #370,367 in Books (See Top 100 in Books)

More About the Authors

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

Most Helpful Customer Reviews
27 of 31 people found the following review helpful
I have most of the parallel computing books out there so I am sort of a collector of sorts. Most focus on either the basics of parallel programming, MPI, OpenMP, both, or some other less popular (yet) paradigm e.g. PFortran, TBB, etc. With every parallel-computing wanna be buying a multicore machine dual, quad, dual-quad, etc., the parallel computing software "industry" is in flux. No longer will MPI on a cluster be enough. It still remains to be seen whether the slower memory bus on quad core machines will allow for speedups without major code overhaul or a new paradigm. Anyway, this book is a welcome addition to my collection. For one, it is current e.g. 2008 and also it is focussed on OpenMP (but does treat dual MPI/OpenMP programming). It is well written (I am about 100 pages in since I just got my copy last week) and has one tantalizing chapter entitled "How to get good performance by using OpenMP" - which is really timely since my new 72 core machine (9 dual Intel quad cores) seems to give slower performance for a major commercial CFD code than the equivalent number of dual-core nodes). I hope it helps me. Based on the rapid growth of multicore machines and the lack of a simple programming solution, I recommend this book to all those wanting to try and get their codes running fast on multicore machines. The only downsides in this book so far is the lack of downloadable code (you have to type it in yourself) and it is hard to test the code fragments because they are just that - fragments. A nice feature of the book is the 50/50 emphasis on Fortran/C codes - which are the still the mainstay in large-scale scientific computing.
Was this review helpful to you?
9 of 9 people found the following review helpful
4.0 out of 5 stars A practical and well-priced book April 4, 2009
Format:Paperback|Verified Purchase
The OpenMP specification can be downloaded from the web, but it is not a really a good starting point for learning how to write real programs using the OpenMP constructs. However, this book does have a lot of material that you really don't need just to write programs. This extra information is in the form of context and information on parallel computing in general, since this book is really intended to double as a textbook and a practical guide for professionals. The following briefly describes the contents.

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.
Read more ›
Was this review helpful to you?
6 of 8 people found the following review helpful
5.0 out of 5 stars Excellent with heavy emphasis on performance July 5, 2009
Format:Paperback|Verified Purchase
Only the most inexpensive processors, or processors built for low power consumption, now have single cores. The present and future of CPUs is multi-core, quad cores per CPU, 6 cores soon to come, and probably more after that. The authors have a deep understanding of parallel processing, modern computer architecture, and OpenMP. This understanding is communicated clearly in this excellent book. The only reason to use OpenMP is to make your programs run faster, this motivation permeates the entire book. Extensive discussions regarding performance are included, including extensive discussions of coding to maximize hits on the CPU cache, considerations of overhead in parallel program, how memory placement and thread binding behavior of multiple multi-core CPUs can affect performance, and many other considerations that likely never occured to you. Almost all of the discussions are presented with specific examples and instruction regarding how to code OpenMP directives. The emphasis is on C, with enough examples in Fortran to be able to use that also -- there is no discussion of C++. Since C and Fortran are by far the most important languages used for scientific computation, the language choices are appropriate at least for that community.
Comment | 
Was this review helpful to you?
6 of 9 people found the following review helpful
3.0 out of 5 stars Not as good as it should be November 9, 2010
Format:Paperback|Verified Purchase
The book got off to a bad start with me. In the very first code example on page 17, there is a "for(i=1;i<=n;i++)" which should be "for(i=0;i<n;i++)". Sure, it is a typo, but I immediately lost confidence in the authors (and copy editor). I only found a couple more such errors. Normal things that appear in most computer books. Still, there is a level of trust that was always lacking as the read on.

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.
Read more ›
Comment | 
Was this review helpful to you?


There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
First post:
Prompts for sign-in

Look for Similar Items by Category

Want to discover more products? You may find many from pragma omp parallel shopping list.