20% discount on returned products
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet or computer – no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the authors

Something went wrong. Please try your request again later.

Using OpenMP – Portable Shared Memory Parallel Programming (Scientific and Engineering Computation) Paperback – 4 Dec. 2007

4.3 out of 5 stars 19 ratings

A comprehensive overview of OpenMP, the standard application programming interface for shared memory parallel computing-a reference for students and professionals. "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." -from the foreword by David J. Kuck, Intel Fellow, Software and Solutions Group, and Director, Parallel and Distributed Solutions, Intel Corporation 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.

Product description

Review

"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

ENDORSEMENT FROM THE FIRST EDITION

"At last the profession has an advanced book on the theory of banking.
Freixas and Rochet make a real contribution to the profession by integrating
a disparate but growing literature on intermediation. They show the role
that these institutions play in the economy and the complex nature of
optical decision making in an imperfect capital market. The book should be
required reading for serious students in the area." --
-Anthony M. Santomero, Richard K. Mellon Professor of Finance, Wharton School, University of Pennsylvania

ENDORSEMENT FROM THE FIRST EDITION

"The book is a major contribution to the literature on the theory of banking
and intermediation. It brings together and synthesizes a broad range of
material in an accessible way. I recommend it to all serious scholars and
students of the subject. The authors are to be congratulated on a superb
achievement." --
-Franklin Allen, Nippon Life Professor of Finance and Economics, Wharton School, University of Pennsylvania

ENDORSEMENT FROM THE FIRST EDITION

"This book provides the first comprehensive treatment of the microeconomics
of banking. It gives an impressive synthesis of an enormous body of
research developed over the last twenty years. It is clearly written and a
pleasure to read. What I found particularly useful is the great effort of
Xavier Freixas and Jean-Charles Rochet have taken to systematically
integrate the theory of financial intermediation into classical
microeconomics and finance theory. This book is likely to become essential
reading for all graduate students in economics, business, and finance." --
-Patrick Bolton, Professor of Economics, Ecare, Université Libre de Bruxelles; and CentER, Tilburg University

ENDORSEMENT FROM THE FIRST EDITION

"The authors have provided an extremely thorough and up-to-date survey of
microeconomic theories of financial intermediation. This work manages to be
both rigorous and pleasant to read. Such a book was long overdue and should
be required reading for anybody interested in the economics of banking and
finance." --
-Mathias Dewatripont, Professor of Economics, Ecare, Université Libre de Bruxelles

About the Author

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 Distinguished Engineer in the SPARC Processor Organization at Oracle and coauthor of Using OpenMP: Portable Shared Memory Parallel Programming.

Product details

  • Publisher ‏ : ‎ MIT Press
  • Publication date ‏ : ‎ 4 Dec. 2007
  • Language ‏ : ‎ English
  • Print length ‏ : ‎ 353 pages
  • ISBN-10 ‏ : ‎ 0262533022
  • ISBN-13 ‏ : ‎ 978-0262533027
  • Item weight ‏ : ‎ 680 g
  • Dimensions ‏ : ‎ 22.81 x 20.52 x 1.75 cm
  • Part of series ‏ : ‎ Scientific and Engineering Computation
  • Customer reviews:
    4.3 out of 5 stars 19 ratings

About the authors

Follow authors to get new release updates, plus improved recommendations.

Customer reviews

4.3 out of 5 stars
19 global ratings

Top reviews from United Kingdom

  • Reviewed in the United Kingdom on 4 June 2008
    Format: PaperbackVerified Purchase
    After shopping about this is definitely the best published pure OpenMP book that I found. Unfortunately that's not saying too much... The authors are obviously extremely able, but the presentation is quite lacking.

    Important points are not clearly summarised and I have spent ages hunting backwards and forwards for 'that little point' which I read a few hours ago and now can't do without. The indexing leaves a lot to be desired.

    I welcome the 'hands-on' approach taken with code, but the example code sometimes contains obvious typos and misleads you on the best approach to a problem. The C / Fortran approach is nice, but there's a lot of duplication. Some definitions are different for C / Fortran but those that aren't don't need to be duplicated over several pages! It is also worth noting that little is said about thread performance / profiling and control. If you're a programmer with HPC experience this will probably disappoint you.

    A standard reference text is needed, and this *could* be it, but I'd wait for the second revision. The first could do with some serious restructuring and editing.
    8 people found this helpful
    Report

Top reviews from other countries

Translate all reviews to English
  • Jörn Dinkla
    3.0 out of 5 stars Neuauflage erforderlich: Gutes Buch, aber leider nicht mehr aktuell
    Reviewed in Germany on 20 March 2014
    Format: PaperbackVerified Purchase
    Dieses Buch erschien 2008 und da war die Version 2.5 von OpenMP aktuell. Damals hätte ich dem Buch vier Sterne gegeben. Einen Stern hätte ich abgezogen, weil es z. B. Fehler im Beispielcode gibt.

    Aber die vergangenen 6 Jahre sind im Bereich der parallelen Programmierung eine kleine Ewigkeit. Und hier finde ich es negativ, dass es noch keine 2. Auflage des Buches gibt. Somit sind es nur noch 3 Sterne.

    Mit der Version 3.0, die ebenfalls 2008 erschien wurde das „task“-Konstrukt in OpenMP eingeführt. Dieser sollte heute eigentlich der Ausgangspunkt für die Parallelisierung mit OpenMP sein. Das vorherige Pragma „for“ ist nicht effizient komponierbar, d.h. Unterfunktionen dürfen nicht selber auch parallelisieren, weil dann sehr viel mehr Threads gestartet werden, als Prozessoren vorhanden sind. Dieses führt zu oft zu schlechtem Code oder zu schlechter Auslastung.

    Und spätestens die Version 4.0, die Mitte 2013 erschien, erfordert eine Neuauflage des Buches. Diese Version unterstützt SIMD-Befehle, benutzerdefinierte Reduktionen und unterstützt auch das GPU-Computing, die Auslagerung von Rechenoperationen auf Grafikkarten.

    Ansonsten bildet das Buch eine gute Einführung mit ein paar guten Performancetipps, wie z. B. der Optimierung von Memory-Access-Patterns.
    Report
  • Amazon Customer
    5.0 out of 5 stars Excellent with heavy emphasis on performance
    Reviewed in the United States on 5 July 2009
    Format: PaperbackVerified 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.
  • Philippe Peter
    5.0 out of 5 stars Indispensable
    Reviewed in France on 6 February 2010
    Format: PaperbackVerified Purchase
    Avec ce livre accessible, clair et bien écrit, vous trouverez bon nombre d'exemples (en C & fortran) pour
    l'utilisation de la librairie OpenMP qui permet de paralléliser une application sur un CPU multi-cores.
    Son utilisation est assez simple, plus que MPI, même s'il est vrai qu'elle ne sont pas vraiment concurrentes.
    On trouve effectivement pas mal de cours sur le net, mais le contenu sur certains détails y est parfois
    limité. Là, j'ai eu une réponse à toutes les questions que je me posais. Depuis, les 4 coeurs de mon
    quadcore 6700 ne connaissent plus le repos.
  • Luca Archetti
    4.0 out of 5 stars ottimo libro
    Reviewed in Italy on 16 December 2014
    Format: PaperbackVerified Purchase
    io ho utilizzato questo libro scriverei la tesi, l'ho trovato ottimo!
    L'unica pecca è che mancano gli ultimi aggiornamenti dell'API essendo stato scritto prima che uscissero.
  • Ángela López
    5.0 out of 5 stars Good book
    Reviewed in Mexico on 8 June 2017
    Contet well-strcutured and complete, has all the neccesary information to learn how to implement a new application wirth OpenMP and to improve actual parallel applications.