Description

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.

Key Features

* 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.

Readership

Novice and expert programmers who want to understand this new standard. Developers of technical and scientific applications.

Table of Contents

Foreword Preface Chapter 1: Introduction Chapter 2 Getting started with OpenMP Chapter 3: Exploiting loop-level parallelism Chapter 4: Beyond loop-level parallelism: Parallel Regions Chapter 5: Synchronization Chapter 6: Performance Glossary References Index

Details

No. of pages:
231
Language:
English
Copyright:
© 2001
Published:
Imprint:
Morgan Kaufmann
Electronic ISBN:
9780080513539
Print ISBN:
9781558606715

About the authors

Rohit Chandra

Rohit Chandra is currently a Chief Scientist at NARUS, Inc., a provider of internet business infrastructure solutions. He previously was a Principal Engineer in the Compiler Group of Silicon Graphics, where he helped design and implement OpenMP.

Ramesh Menon

Ramesh Menon is a Staff Engineer at NARUS, Inc. Prior to NARUS, Ramesh was a Staff Engineer at SGI representing SGI in the OpenMP forum. He was the founding Chairman of the OpenMP Architecture Review Board (ARB) and supervised the writing of the first OpenMP specifications.

Leo Dagum

Leonardo Dagum currently works for Silicon Graphics in the Linux Server Platform Group where he is responsible for the I/O infrastructure in SGI's scalable Linux server systems. He helped define the OpenMP Fortran API. His research interests include parallel algorithms and performance modeling for parallel systems.

David Kohr

Dave Kohr is currently a member of the Technical Staff at NARUS, Inc. He previously was a Member of the Technical Staff in the Compiler Group at Silicon Graphics, where he helped define and implement the OpenMP.

Dror Maydan

Dror Maydan is currently Director of Software at Tensilica, Inc., the provider of application-specific processor technology. He previously was an Engineering Department Manager in the Compiler Group of Silicon Graphics where he helped design and implement OpenMP.

Jeff McDonald

Jeffrey McDonald currently owns SolidFX, a private software development company. In the capacity of Engineering Department Manager at Silicon Graphics, he proposed the OpenMP API effort and helped develop it into the industry standard it is today.

Reviews

@qu:"This book will provide a valuable resource for the OpenMP community." @source:—Timothy G. Mattson, Intel Corporation @qu:"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." @source:—Mary E. Zozel, Lawrence Livermore National Laboratory