Structured parallel programming : (Record no. 16298)

MARC details
000 -LEADER
fixed length control field 05548nam a2200241Ia 4500
003 - CONTROL NUMBER IDENTIFIER
control field NULRC
005 - DATE AND TIME OF LATEST TRANSACTION
control field 20250520102826.0
008 - FIXED-LENGTH DATA ELEMENTS--GENERAL INFORMATION
fixed length control field 250520s9999 xx 000 0 und d
020 ## - INTERNATIONAL STANDARD BOOK NUMBER
International Standard Book Number 9780124159938
040 ## - CATALOGING SOURCE
Transcribing agency NULRC
050 ## - LIBRARY OF CONGRESS CALL NUMBER
Classification number QA 76.76 .M66 2012
100 ## - MAIN ENTRY--PERSONAL NAME
Personal name McCool, Michael.
Relator term author
245 #0 - TITLE STATEMENT
Title Structured parallel programming :
Remainder of title patterns for efficient computation /
Statement of responsibility, etc. Michael McCool, Arch Robison and James Reinders.
260 ## - PUBLICATION, DISTRIBUTION, ETC.
Place of publication, distribution, etc. Amsterdam :
Name of publisher, distributor, etc. Elsevier/Morgan Kaufmann,
Date of publication, distribution, etc. c2012
300 ## - PHYSICAL DESCRIPTION
Extent xxvi, 433 pages :
Other physical details illustrations ;
Dimensions 24 cm.
365 ## - TRADE PRICE
Price amount USD39.92
504 ## - BIBLIOGRAPHY, ETC. NOTE
Bibliography, etc. note Includes bibliographical references and index.
505 ## - FORMATTED CONTENTS NOTE
Formatted contents note Listings -- Preface -- Preliminaries -- 1 Introduction -- 1.1 Think Parallel -- 1.2 Performance -- 1.3 Motivation: Pervasive Parallelism -- 1.3.1 Hardware Trends Encouraging Parallelism -- 1.3.2 Observed Historical Trends in Parallelism -- 1.3.3 Need for Explicit Parallel Programming -- 1.4 Structured Pattern-Based Programming -- 1.5 Parallel Programming Models -- 1.5.1 Desired Properties -- 1.5.2 Abstractions Instead of Mechanisms. 1.5.3 Expression of Regular Data Parallelism -- 1.5.4 Composability -- 1.5.5 Portability of Functionality -- 1.5.6 Performance Portability -- 1.5.7 Safety, Determinism, and Maintainability -- 1.5.8 Overview of Programming Models Used -- Cilk Plus -- Threading Building Blocks (TBB) -- OpenMP -- Array Building Blocks (ArBB) -- OpenCL -- 1.5.9 When to Use Which Model? -- 1.6 Organization of this Book -- 1.7 Summary -- 2 Background -- 2.1 Vocabulary and Notation -- 2.2 Strategies -- 2.3 Mechanisms -- 2.4 Machine Models -- 2.4.1 Machine Model -- Instruction Parallelism -- Memory Hierarchy. Virtual Memory -- Multiprocessor Systems -- Attached Devices -- 2.4.2 Key Features for Performance -- Data Locality -- Parallel Slack -- 2.4.3 Flynn's Characterization -- 2.4.4 Evolution -- 2.5 Performance Theory -- 2.5.1 Latency and Throughput -- 2.5.2 Speedup, Efficiency, and Scalability -- 2.5.3 Power -- 2.5.4 Amdahl's Law -- 2.5.5 Gustafson-Barsis' Law -- 2.5.6 Work-Span Model -- 2.5.7 Asymptotic Complexity -- 2.5.8 Asymptotic Speedup and Efficiency -- 2.5.9 Little's Formula -- 2.6 Pitfalls -- 2.6.1 Race Conditions -- 2.6.2 Mutual Exclusion and Locks -- 2.6.3 Deadlock. 2.6.4 Strangled Scaling -- 2.6.5 Lack of Locality -- 2.6.6 Load Imbalance -- 2.6.7 Overhead -- 2.7 Summary -- I Patterns -- 3 Patterns -- 3.1 Nesting Pattern -- 3.2 Structured Serial Control Flow Patterns -- 3.2.1 Sequence -- 3.2.2 Selection -- 3.2.3 Iteration -- 3.2.4 Recursion -- 3.3 Parallel Control Patterns -- 3.3.1 Fork-Join -- 3.3.2 Map -- 3.3.3 Stencil -- 3.3.4 Reduction -- 3.3.5 Scan -- 3.3.6 Recurrence -- 3.4 Serial Data Management Patterns -- 3.4.1 Random Read and Write -- 3.4.2 Stack Allocation -- 3.4.3 Heap Allocation -- 3.4.4 Closures -- 3.4.5 Objects. 3.5 Parallel Data Management Patterns -- 3.5.1 Pack -- 3.5.2 Pipeline -- 3.5.3 Geometric Decomposition -- 3.5.4 Gather -- 3.5.5 Scatter -- 3.6 Other Parallel Patterns -- 3.6.1 Superscalar Sequences -- 3.6.2 Futures -- 3.6.3 Speculative Selection -- 3.6.4 Workpile -- 3.6.5 Search -- 3.6.6 Segmentation -- 3.6.7 Expand -- 3.6.8 Category Reduction -- 3.6.9 Term Graph Rewriting -- 3.7 Non-Deterministic Patterns -- 3.7.1 Branch and Bound -- 3.7.2 Transactions -- 3.8 Programming Model Support for Patterns -- 3.8.1 Cilk Plus -- Nesting, Recursion, Fork-Join -- Reduction -- Map, Workpile.
520 ## - SUMMARY, ETC.
Summary, etc. Programming is now parallel programming. Much as structured programming revolutionized traditional serial programming decades ago, a new kind of structured programming, based on patterns, is relevant to parallel programming today. Parallel computing experts and industry insiders Michael McCool, Arch Robison, and James Reinders describe how to design and implement maintainable and efficient parallel algorithms using a pattern-based approach. They present both theory and practice, and give detailed concrete examples using multiple programming models. Examples are primarily given using two of the most popular and cutting edge programming models for parallel programming: Threading Building Blocks, and Cilk Plus. These architecture-independent models enable easy integration into existing applications, preserve investments in existing code, and speed the development of parallel applications. Examples from realistic contexts illustrate patterns and themes in parallel algorithm design that are widely applicable regardless of implementation technology. The patterns-based approach offers structure and insight that developers can apply to a variety of parallel programming models. Develops a composable, structured, scalable, and machine-independent approach to parallel computing. Includes detailed examples in both Cilk Plus and the latest Threading Building Blocks, which support a wide variety of computers. Structured Parallel Programming offers the simplest way for developers to learn patterns for high-performance parallel programming. Written by parallel computing experts and industry insiders Michael McCool, Arch Robison, and James Reinders, this book explains how to design and implement maintainable and efficient parallel algorithms using a composable, structured, scalable, and machine-independent approach to parallel computing. It presents both theory and practice, and provides detailed concrete examples using multiple programming models.
650 ## - SUBJECT ADDED ENTRY--TOPICAL TERM
Topical term or geographic name entry element PARALLEL PROGRAMMING (COMPUTER SCIENCE)
700 ## - ADDED ENTRY--PERSONAL NAME
Personal name Robison, Arch ;Reinders, James
Relator term co-author;co-author
942 ## - ADDED ENTRY ELEMENTS (KOHA)
Source of classification or shelving scheme Library of Congress Classification
Koha item type Books
Holdings
Withdrawn status Lost status Source of classification or shelving scheme Damaged status Not for loan Collection Home library Current library Shelving location Date acquired Source of acquisition Cost, normal purchase price Total checkouts Full call number Barcode Date last seen Copy number Price effective from Koha item type
    Library of Congress Classification     Computer Science LRC - Main National University - Manila General Circulation 12/04/2017 Purchased - Amazon 39.92   GC QA 76.76 .M66 2012 NULIB000014057 05/20/2025 c.1 05/20/2025 Books