Ruud van der Pas, Eric Stotzer, and Christian Terboven.
.PUBLICATION, DISTRIBUTION, ETC
Place of Publication, Distribution, etc.
Cambridge, Massachusetts :
Name of Publisher, Distributor, etc.
The MIT Press,
Date of Publication, Distribution, etc.
[2017]
PHYSICAL DESCRIPTION
Specific Material Designation and Extent of Item
1 online resource (xxi, 365 pages) :
Other Physical Details
illustrations
SERIES
Series Title
Scientific and engineering computation
INTERNAL BIBLIOGRAPHIES/INDEXES NOTE
Text of Note
Includes bibliographical references and index.
CONTENTS NOTE
Text of Note
Intro; Contents; Series Foreword; Foreword; Preface; 1 A Recap of OpenMP 2.5; 1.1 OpenMP Directives and Syntax; 1.2 Creating a Parallel Program with OpenMP; 1.2.1 The Parallel Region; 1.2.2 The OpenMP Execution Model; 1.2.3 The OpenMP Memory Model; 1.3 The Worksharing Constructs; 1.3.1 The Loop Construct; 1.3.2 The Sections Construct; 1.3.3 The Single Construct; 1.3.4 The Fortran Workshare Construct; 1.3.5 The Combined Worksharing Constructs; 1.4 The Master Construct; 1.5 Nested Parallelism; 1.6 Synchronization Constructs; 1.6.1 The Barrier Construct; 1.6.2 The Critical Construct
Text of Note
1.6.3 The Atomic Construct1.6.4 The Ordered Construct; 1.7 The OpenMP 2.5 Environment Variables; 1.8 The OpenMP 2.5 Runtime Functions; 1.9 Internal Control Variables in OpenMP; 1.10 Concluding Remarks; 2 New Features in OpenMP; 2.1 Enhancements to Existing Constructs; 2.1.1 The Schedule Clause; 2.1.2 The If Clause; 2.1.3 The Collapse Clause; 2.1.4 The Linear Clause; 2.1.5 The Critical Construct; 2.1.6 The Atomic Construct; 2.2 New Environment Variables; 2.3 New Runtime Functions; 2.3.1 Runtime Functions for Thread Management, Thread Scheduling, and Nested Parallelism
Text of Note
2.3.2 Runtime Functions for Tasking, Cancellation, and Thread Affi nity2.3.3 Runtime Functions for Locking; 2.3.4 Runtime Functions for Heterogeneous Systems; 2.3.5 Usage Examples of the New Runtime Functions; 2.4 New Functionality; 2.4.1 Changed Ownership of Locks; 2.4.2 Cancellation; 2.4.3 User-Defined Reduction; 2.4.4 The Doacross Loop; 2.5 Concluding Remarks; 3 Tasking; 3.1 Hello Task; 3.1.1 Parallelizing a Palindrome; 3.1.2 Parallelizing a Sentence with a Palindrome; 3.1.3 Closing Comments on the Palindrome Example; 3.2 Using Tasks to Parallelize a Linked List
Text of Note
3.2.1 The Sequential Version of the Linked List Program3.2.2 The Parallel Version of the Linked List Program; 3.2.3 Closing Comments on the Linked List Example; 3.3 Sorting Things Out with Tasks; 3.3.1 The Sequential Quicksort Algorithm; 3.3.2 The OpenMP Quicksort Algorithm; 3.3.3 Fine-Tuning the OpenMP Quicksort Algorithm; 3.3.4 Closing Comments on the OpenMP Quicksort Algorithm; 3.4 Overlapping I/O and Computations Using Tasks; 3.4.1 Using Tasks and Task Dependences; 3.4.2 Using the Taskloop Construct; 3.4.3 Closing Comments on the Pipeline Example; 3.5 The Data Environment with Tasks
Text of Note
3.6 What is a Task?3.7 Task Creation, Synchronization, and Scheduling; 3.8 The Taskloop Construct; 3.9 Concluding Remarks; 4 Thread A nity; 4.1 The Characteristics of a cc-NUMA Architecture; 4.2 First Touch Data Placement; 4.2.1 The Pros and Cons of First Touch Data Placement; 4.2.2 How to Exploit the First Touch Policy; 4.3 The Need for Thread A nity Support; 4.4 The OpenMP Thread A nity Philosophy; 4.5 The OpenMP Places Concept; 4.5.1 Defining OpenMP Places Using Sets with Numbers; 4.5.2 The OpenMP Place List; 4.5.3 Defining OpenMP Places Using Abstract Names
0
8
8
8
8
SUMMARY OR ABSTRACT
Text of Note
A guide to the most recent, advanced features of the widely used OpenMP parallel programming model, with coverage of major features in OpenMP 4.5. This book offers an up-to-date, practical tutorial on advanced features in the widely used OpenMP parallel programming model. Building on the previous volume, Using OpenMP: Portable Shared Memory Parallel Programming (MIT Press), this book goes beyond the fundamentals to focus on what has been changed and added to OpenMP since the 2.5 specifications. It emphasizes four major and advanced areas: thread affinity (keeping threads close to their data), accelerators (special hardware to speed up certain operations), tasking (to parallelize algorithms with a less regular execution flow), and SIMD (hardware assisted operations on vectors). As in the earlier volume, the focus is on practical usage, with major new features primarily introduced by example. Examples are restricted to C and C++, but are straightforward enough to be understood by Fortran programmers. After a brief recap of OpenMP 2.5, the book reviews enhancements introduced since 2.5. It then discusses in detail tasking, a major functionality enhancement; Non-Uniform Memory Access (NUMA) architectures, supported by OpenMP; SIMD, or Single Instruction Multiple Data; heterogeneous systems, a new parallel programming model to offload computation to accelerators; and the expected further development of OpenMP.
ACQUISITION INFORMATION NOTE
Source for Acquisition/Subscription Address
MIT Press
Source for Acquisition/Subscription Address
MIT Press
Stock Number
10031
Stock Number
9780262344012
OTHER EDITION IN ANOTHER MEDIUM
Title
Using OpenMP - the next step
International Standard Book Number
9780262534789
TITLE USED AS SUBJECT
OpenMP (Application program interface)
OpenMP (Application program interface)
TOPICAL NAME USED AS SUBJECT
Application program interfaces (Computer software)
Parallel programming (Computer science)
Application program interfaces (Computer software)