Start reading Parallel Programming in OpenMP on your Kindle in under a minute. Don't have a Kindle? Get your Kindle here or start reading now with a free Kindle Reading App.

Deliver to your Kindle or other device

 
 
 

Try it free

Sample the beginning of this book for free

Deliver to your Kindle or other device

Anybody can read Kindle books—even without a Kindle device—with the FREE Kindle app for smartphones, tablets and computers.
Parallel Programming in OpenMP
 
 

Parallel Programming in OpenMP [Kindle Edition]

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

Kindle Price: £40.84 includes VAT* & free wireless delivery via Amazon Whispernet
* Unlike print books, digital books are subject to VAT.

Formats

Amazon Price New from Used from
Kindle Edition £40.84  
Hardcover £42.99  
Kindle Daily Deal
Kindle Daily Deal: At least 60% off
Each day we unveil a new book deal at a specially discounted price--for that day only. Learn more about the Kindle Daily Deal or sign up for the Kindle Daily Deal Newsletter to receive free e-mail notifications about each day's deal.

Special Offers and Product Promotions

  • Between 20-26 October 2014, spend £10 in a single order on item(s) dispatched from and sold by Amazon.co.uk and receive a £2 promotional code to spend in the Amazon Appstore. Here's how (terms and conditions apply)


Product Description

Amazon Review

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

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 "parallelise" existing software without completely rewriting it. This text starts with simple examples of how to parallelise "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 parallelised directives for specific situations, how to use parallel regions (beyond simple loops), and the dos and don'ts of effective synchronisation (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, this book introduces the competent research programmer to a new vocabulary of idioms and techniques for parallelising 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 modelling, for instance. This book fills a useful niche by describing this powerful new development in parallel computing. --Richard Dragan

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

  • Format: Kindle Edition
  • File Size: 3115 KB
  • Print Length: 231 pages
  • Publisher: Morgan Kaufmann; 1 edition (11 Oct 2000)
  • Sold by: Amazon Media EU S.à r.l.
  • Language: English
  • ASIN: B00155UEFK
  • Text-to-Speech: Enabled
  • X-Ray:
  • Average Customer Review: 5.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: #814,672 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
  •  Would you like to give feedback on images?


More About the Author

Discover books, learn about writers, and more.

Customer Reviews

4 star
0
3 star
0
2 star
0
1 star
0
5.0 out of 5 stars
5.0 out of 5 stars
Most Helpful Customer Reviews
6 of 6 people found the following review helpful
5.0 out of 5 stars An excellent book 12 Feb 2003
By A Customer
Format:Hardcover
This book is an excellent introduction both to parallel programming in general and OpenMP in particular. It starts with a simple introduction to the most basic elements of OpenMP, and in doing so touches on most of the key new concepts which a beginner will encounter when programming in parallel for the first time.
The later sections of the book explore OpenMP in more detail, introducing both loop-based and region-based parallelism. The final chapter deals with performance-related issues, which is also essential reading for newbies, dispelling some of the naive assumptions one might have when starting out.
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 4.0 out of 5 stars  5 reviews
13 of 13 people found the following review helpful
4.0 out of 5 stars Great introduction 8 Nov 2006
By wiredweird - Published on Amazon.com
Format:Hardcover
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
10 of 12 people found the following review helpful
4.0 out of 5 stars has many Fortran 77 but not Fortran 95 examples 30 Dec 2004
By V. Rao - Published on Amazon.com
Format:Hardcover|Verified Purchase
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.
4 of 4 people found the following review helpful
4.0 out of 5 stars classic how to but too heavy a focus on fortran 9 Aug 2007
By Burlen Loring - Published on Amazon.com
Format:Hardcover|Verified Purchase
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.
1 of 1 people found the following review helpful
4.0 out of 5 stars Many Tips And Pitfalls 19 Jun 2008
By Wesley G. Faler - Published on Amazon.com
Format:Hardcover|Verified Purchase
Hoping for just information on OpenMP, I was pleased to find much information about issues with parallelizing algorithms. In fact, OpenMP itself is actually very tiny, easily fitting on a few quick reference cards. Applying OpenMP, or any multithreading for that matter, is what actually determines success. I was particularly pleased with the section on cache lines and their impact on design.
9 of 13 people found the following review helpful
4.0 out of 5 stars Clear and concise 13 May 2002
By Arthur - Published on Amazon.com
Format:Hardcover
this is probably the first book about OMP. The author has decribed the uses of many functions and directives of OMP. The examples (in Fortran and C) given are also useful. Generally this is a good book to get you started off with OMP.
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

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
 

Search Customer Discussions
Search all Amazon discussions
   


Look for similar items by category