Using OpenMP: Portable Shared Memory Parallel Programming
by Barbara Chapman
On This Page
Description
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 show more 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. show lessTags
Recommendations
Member Reviews
The first part of the book (up to chapter 4) is an explanation of the OpenMP standard. The second part (chapters 5-7) contains information which is related to parallel programming in general. There is also a shorter third part which covers details of OpenMP.
The first part is solid and mostly readable. It seems to regularly borrow from the standard (which is fine) but also has a tendency, to refer to the standard for the details; the problem that I found with this was that the standard was not really more detailed than the text in the book (maybe I should have used the OpenMP 2.5 standard, but Visual C++ is based on OpenMP 2.0). Nevertheless, this part would deserve 4 stars.
Unfortunately, the quality of the later parts have significantly show more lower quality. The analysis of performance in chapter 5 is lacking: The results show good throughput until a certain problem size, but then for very big problems the throughput degrades severely. This severe performance hit is never analysed. The whole discussion is about the moderate sized problems.
The source code in the higher chapters often contains oddly nested braces, the code in Chapter 8 even contains lots of syntax errors. Also I found the higher chapters quite repetitious in an annoying way and I feel that I wasted quite some time with them.
Finally, I found that the memory model received far to little attention, although a later chapter devotes 3 or so pages to it. show less
The first part is solid and mostly readable. It seems to regularly borrow from the standard (which is fine) but also has a tendency, to refer to the standard for the details; the problem that I found with this was that the standard was not really more detailed than the text in the book (maybe I should have used the OpenMP 2.5 standard, but Visual C++ is based on OpenMP 2.0). Nevertheless, this part would deserve 4 stars.
Unfortunately, the quality of the later parts have significantly show more lower quality. The analysis of performance in chapter 5 is lacking: The results show good throughput until a certain problem size, but then for very big problems the throughput degrades severely. This severe performance hit is never analysed. The whole discussion is about the moderate sized problems.
The source code in the higher chapters often contains oddly nested braces, the code in Chapter 8 even contains lots of syntax errors. Also I found the higher chapters quite repetitious in an annoying way and I feel that I wasted quite some time with them.
Finally, I found that the memory model received far to little attention, although a later chapter devotes 3 or so pages to it. show less
Feb 7, 2014German
Ratings
Members
- Recently Added By
Author Information
4 Works 49 Members
Series
Belongs to Publisher Series
Common Knowledge
- Canonical title
- Using OpenMP: Portable Shared Memory Parallel Programming
Classifications
- Genres
- Technology, Nonfiction
- DDC/MDS
- 005.2 — Computer science, information & general works Computer science, knowledge & systems Artificial Intelligence/Virtual Reality Programming for Specific Environments
- LCC
- QA76.642 .C49 — Science Mathematics Mathematics Instruments and machines Calculating machines Electronic computers. Computer science Computer software
- BISAC
Statistics
- Members
- 42
- Popularity
- 704,150
- Reviews
- 1
- Rating
- (3.83)
- Languages
- English
- Media
- Paper, Ebook
- ISBNs
- 4
- ASINs
- 2






















































