or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
Kindle Edition
Read instantly on your iPad, PC or Mac, no Kindle required
Buy Price: $32.93
Rent From: $9.63
 
 
   
Sell Back Your Copy
For a $8.35 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Parallel Programming in OpenMP
 
 

Parallel Programming in OpenMP [Paperback]

Rohit Chandra (Author), Ramesh Menon (Author), Leo Dagum (Author), David Kohr (Author), Dror Maydan (Author), Jeff McDonald (Author)
4.0 out of 5 stars  See all reviews (5 customer reviews)

List Price: $62.95
Price: $36.59 & this item ships for FREE with Super Saver Shipping. Details
You Save: $26.36 (42%)
  Special Offers Available
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Only 5 left in stock--order soon (more on the way).
Want it delivered Monday, February 6? Choose One-Day Shipping at checkout. Details
Textbook Student FREE Two-Day Shipping for students on millions of items. Learn more

Formats

Amazon Price New from Used from
Kindle Edition
Rent from
$32.93
$9.63
 
Paperback $36.59  
Sell Back Your Copy for $8.35
Whether you buy it used on Amazon for $32.51 or somewhere else, you can sell it back through our Book Trade-In Program at the current price of $8.35.
Used Price$32.51
Trade-in Price$8.35
Price after
Trade-in
$24.16

Book Description

October 16, 2000 1558606718 978-1558606715 1


The rapid and widespread acceptance of shared-memory multiprocessor architectures has created a pressing demand for an efficient way to program these systems. At the same time, developers of technical and scientific applications in industry and in government laboratories find they need to parallelize huge volumes of code in a portable fashion. OpenMP, developed jointly by several parallel computing vendors to address these issues, is an industry-wide standard for programming shared-memory and distributed shared-memory multiprocessors. It consists of a set of compiler directives and library routines that extend FORTRAN, C, and C++ codes to express shared-memory parallelism.


Parallel Programming in OpenMP is the first book to teach both the novice and expert parallel programmers how to program using this new standard. The authors, who helped design and implement OpenMP while at SGI, bring a depth and breadth to the book as compiler writers, application developers, and performance engineers.

* Designed so that expert parallel programmers can skip the opening chapters, which introduce parallel programming to novices, and jump right into the essentials of OpenMP.
* Presents all the basic OpenMP constructs in FORTRAN, C, and C++.
* Emphasizes practical concepts to address the concerns of real application developers.
* Includes high quality example programs that illustrate concepts of parallel programming as well as all the constructs of OpenMP.
* Serves as both an effective teaching text and a compact reference.
* Includes end-of-chapter programming exercises.


Special Offers and Product Promotions

  • Buy $50 in qualifying physical textbooks, get $5 in Amazon MP3 Credit. Here's how (restrictions apply)

Frequently Bought Together

Parallel Programming in OpenMP + Using OpenMP: Portable Shared Memory Parallel Programming (Scientific and Engineering Computation) + Using MPI - 2nd Edition: Portable Parallel Programming with the Message Passing Interface (Scientific and Engineering Computation)
Price For All Three: $104.45

Show availability and shipping details

Buy the selected items together


Editorial Reviews

Amazon.com Review

The OpenMP standard allows programmers to take advantage of new shared-memory multiprocessor systems from vendors like Compaq, Sun, HP, and SGI. Aimed at the working researcher or scientific C/C++ or Fortran programmer, Parallel Programming in OpenMP both explains what this standard is and how to use it to create software that takes full advantage of parallel computing.

At its heart, OpenMP is remarkably simple. By adding a handful of compiler directives (or pragmas) in Fortran or C/C++, plus a few optional library calls, programmers can "parallelize" existing software without completely rewriting it. This book starts with simple examples of how to parallelize "loops"--iterative code that in scientific software might work with very large arrays. Sample code relies primarily on Fortran (undoubtedly the language of choice for high-end numerical software) with descriptions of the equivalent calls and strategies in C/C++. Each sample is thoroughly explained, and though the style in this book is occasionally dense, it does manage to give plenty of practical advice on how to make code run in parallel efficiently. The techniques explored include how to tweak the default parallelized directives for specific situations, how to use parallel regions (beyond simple loops), and the dos and don'ts of effective synchronization (with critical sections and barriers). The book finishes up with some excellent advice for how to cooperate with the cache mechanisms of today's OpenMP-compliant systems.

Overall, Parallel Programming in OpenMP introduces the competent research programmer to a new vocabulary of idioms and techniques for parallelizing software using OpenMP. Of course, this standard will continue to be used primarily for academic or research computing, but now that OpenMP machines by major commercial vendors are available, even business users can benefit from this technology--for high-end forecasting and modeling, for instance. This book fills a useful niche by describing this powerful new development in parallel computing. --Richard Dragan

Topics covered:

  • Overview of the OpenMP programming standard for shared-memory multiprocessors
  • Description of OpenMP parallel hardware
  • OpenMP directives for Fortran and pragmas for C/C++
  • Parallelizing simple loops
  • parallel do / parallel for directives
  • Shared and private scoping for thread variables
  • reduction operations
  • Data dependencies and how to remove them
  • OpenMP performance issues (sufficient work, balancing the load in loops, scheduling options)
  • Parallel regions
  • How to parallelize arbitrary blocks of code (master and slave threads, threadprivate directives and the copyin clause)
  • Parallel task queues
  • Dividing work based on thread numbers
  • Noniterative work sharing
  • Restrictions on work-sharing
  • Orphaning
  • Nested parallel regions
  • Controlling parallelism in OpenMP, including controlling the number of threads, dynamic threads, and OpenMP library calls for threads
  • OpenMP synchronization
  • Avoiding data races
  • Critical section directives (named and nested critical sections and the atomic directive
  • Runtime OpenMP library lock routines
  • Event synchronization (barrier directives and ordered sections)
  • Custom synchronization, including the flush directive
  • Programming tips for synchronization
  • Performance issues with OpenMP
  • Amdahl's Law
  • Load balancing for parallelized code
  • Hints for writing parallelized code that fits into processor caches
  • Avoiding false sharing
  • Synchronization hints
  • Performance issues for bus-based and Non-Uniform Memory Access (NUMA) machines
  • OpenMP quick reference

Review

"This book will provide a valuable resource for the OpenMP community."
—Timothy G. Mattson, Intel Corporation

"This book has an important role to play in the HPC community-both for introducing practicing professionals to OpenMP and for educating students and professionals about parallel programming. I'm happy to see that the authors have put together such a complete OpenMP presentation."
—Mary E. Zozel, Lawrence Livermore National Laboratory

Product Details

  • Paperback: 231 pages
  • Publisher: Morgan Kaufmann; 1 edition (October 16, 2000)
  • Language: English
  • ISBN-10: 1558606718
  • ISBN-13: 978-1558606715
  • Product Dimensions: 9.1 x 7.3 x 0.6 inches
  • Shipping Weight: 14.9 ounces (View shipping rates and policies)
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (5 customer reviews)
  • Amazon Best Sellers Rank: #353,799 in Books (See Top 100 in Books)

More About the Author

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

 

Customer Reviews

5 Reviews
5 star:    (0)
4 star:
 (5)
3 star:    (0)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.0 out of 5 stars (5 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

11 of 11 people found the following review helpful:
4.0 out of 5 stars Great introduction, November 8, 2006
This review is from: Parallel Programming in OpenMP (Paperback)
Chandra et al. have put together a readable, helpful introduction to parallel programming with OpenMP. Unlike its major competitor, MPI, OpenMP assumes a shared memory model, in which every processor has the same view of the same address space as every other. At least as a start, this cuts the intellectual load way down. The programmer adds just one concept to the problem, parallelism, without adding buffering, communication networks, and lots of other stuff as well.

After two introductory chapters, the authors introduce OpenMP in three stages: loop parallelism, general parallelism, and synchronization, roughly in order of increasing complexity. The authors present the necessary OpenMP pragmas and APIs at each step, showing how they address the immediate problems. An appendix summarizes the pragmas and APIs, in both their C/C++ and Fortran forms. OO C++ programmers may be dismayed by the amount of attention paid to an un-cool language like Fortran, but need to realize that it's still the lingua franca of performance programming. And, in fairness, the authors spend equal time on C++ idiosyncrasies, such as constructor invocations for variables that are silently replicated in each of the parallel threads.

If you've ever done performance programming, you're groaningly aware that getting the parallelism right is actually the easy part. The tricky parts come in breaking dependencies, in scheduling, in ensuring spatial and temporal locality, and in dealing with cache coherency issues of multiprocessors. The authors give great introductions to all of the basics. This includes a patient description of how caches actually work, since there's a new crop of beginners every day. The authors describe performance analysis tools, but only briefly. The tools differ so much between vendors and between one rev and the next, that any detailed description would be useless to most readers immediately and obsolete for all readers very soon.

This won't turn a beginner into the guru of performance computing. It will, however, establish a working competence in one popular parallelization tool, OpenMP, and in the computing technologies that affect parallel performance.

//wiredweird
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


10 of 12 people found the following review helpful:
4.0 out of 5 stars has many Fortran 77 but not Fortran 95 examples, December 30, 2004
Amazon Verified Purchase(What's this?)
This review is from: Parallel Programming in OpenMP (Paperback)
This book has many examples of how to parallelize Fortran 77 programs with loops using OpenMP directives, but coverage of how to parallelize Fortran 95 code using array operations is sparse. For this, one should read the tutorial "Parallel Programming in Fortran 95 using OpenMP", by Miguel Hermanns, available at the OpenMP web site.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


3 of 3 people found the following review helpful:
4.0 out of 5 stars classic how to but too heavy a focus on fortran, August 8, 2007
By 
Burlen Loring (portsmouth, nh , usa) - See all my reviews
(REAL NAME)   
Amazon Verified Purchase(What's this?)
This review is from: Parallel Programming in OpenMP (Paperback)
I found this book to be a well written ground up how to on OpenMP. It is approachable by someone not well versed in parallel programming. I believe it was written before the wide scale advent of multi core architectures and in those pre multi core days most users of OpenMP would have been in the scientific community and have been interested largely in speeding up fortran codes. So the focus on the fortran constructs is understandable. However in todays world with every desktop equipped with a multi core cpu the book would be better with a stronger focus on c++. Despite the heavy focus on fortran examples the book does include information on using OpenMP from c++. I rate the book highly, because of its clarity, approachability, and style and hope future editions have a stronger showing of c++ examples.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews



Only search this product's reviews



Inside This Book (learn more)
First Sentence:
ENHANCED COMPUTER APPLICATION PERFORMANCE is the only practical purpose of parallel processing. Read the first page
Key Phrases - Statistically Improbable Phrases (SIPs): (learn more)
parallel region construct, data scoping clauses, integer iarray, flush directive, aggregate caches, copyin clause, threadprivate data, data scope clause, saxpy example, omp parallel, threadprivate variables, lexical extent, omp threadprivate, atomic directive, omp atomic, omp flush, omp end parallel, runtime execution model, threadprivate directive, cur max, lastprivate clause, directive pair, parallel directive, nowait clause, barrier directive
Key Phrases - Capitalized Phrases (CAPs): (learn more)
Concluding Remarks, Power Challenge, Processors Cycles
New!
Books on Related Topics | Concordance | Text Stats
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Surprise Me!
Search Inside This Book:





Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(1)

Your tags: Add your first tag
 

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums





Look for Similar Items by Category


Look for Similar Items by Subject