• Complain

McCool Michael Reinders James Robison Arch - Structured Parallel Programming: Patterns for Efficient Computation

Here you can read online McCool Michael Reinders James Robison Arch - Structured Parallel Programming: Patterns for Efficient Computation full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. City: Saint Louis, year: 2014, publisher: Elsevier Science, genre: Computer. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

No cover

Structured Parallel Programming: Patterns for Efficient Computation: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Structured Parallel Programming: Patterns for Efficient Computation" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

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 modelsDevelops a composable, structured, scalable, and machine-independent approach to parallel computingIncludes detailed examples in both Cilk Plus and the latest Threading Building Blocks, which support a wide variety of computers. Read more...
Abstract: 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 modelsDevelops a composable, structured, scalable, and machine-independent approach to parallel computingIncludes detailed examples in both Cilk Plus and the latest Threading Building Blocks, which support a wide variety of computers

McCool Michael Reinders James Robison Arch: author's other books


Who wrote Structured Parallel Programming: Patterns for Efficient Computation? Find out the surname, the name of the author of the book and a list of all author's works by series.

Structured Parallel Programming: Patterns for Efficient Computation — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Structured Parallel Programming: Patterns for Efficient Computation" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Structured Parallel Programming Patterns for Efficient Computation Michael - photo 1
Structured Parallel Programming
Patterns for Efficient Computation

Michael McCool

Arch D. Robison

James Reinders

Table of Contents Acquiring Editor Todd Green Development Editor Robyn - photo 2

Table of Contents

Acquiring Editor: Todd Green

Development Editor: Robyn Day

Project Manager: Paul Gottehrer

Designer: Joanne Blank

Morgan Kaufmann is an imprint of Elsevier

225 Wyman Street, Waltham, MA 02451, USA

2012 Elsevier, Inc. All rights reserved.

No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or any information storage and retrieval system, without permission in writing from the publisher. Details on how to seek permission, further information about the Publishers permissions policies and our arrangements with organizations such as the Copyright Clearance Center and the Copyright Licensing Agency, can be found at our website: www.elsevier.com/permissions.

This book and the individual contributions contained in it are protected under copyright by the Publisher (other than as may be noted herein).

Notices

Knowledge and best practice in this field are constantly changing. As new research and experience broaden our understanding, changes in research methods or professional practices, may become necessary. Practitioners and researchers must always rely on their own experience and knowledge in evaluating and using any information or methods described herein. In using such information or methods they should be mindful of their own safety and the safety of others, including parties for whom they have a professional responsibility.

To the fullest extent of the law, neither the Publisher nor the authors, contributors, or editors, assume any liability for any injury and/or damage to persons or property as a matter of products liability, negligence or otherwise, or from any use or operation of any methods, products, instructions, or ideas contained in the material herein.

Library of Congress Cataloging-in-Publication Data

Application submitted.

British Library Cataloguing-in-Publication Data

A catalogue record for this book is available from the British Library.

ISBN: 978-0-12-415993-8

For information on all MK publications visit our website at http://store.elsevier.com

Typeset by: diacriTech, India

Printed in the United States of America

12 13 14 15 16 10 9 8 7 6 5 4 3 2 1

Listings 11 Add two vectors in C with implied serial ordering 12 Overlapping - photo 3

Listings

1.1 Add two vectors in C, with implied serial ordering

1.2 Overlapping (aliased) arguments in C

1.3 Add two vectors using Cilk Plus array notation

1.4 An ordered sum creates a dependence in C

1.5 A parallel sum, expressed as a reduction operation in Cilk Plus

1.6 Function calls with step-by-step ordering specified in C

1.7 Function calls with no required ordering in Cilk Plus

1.8 Serial vector addition coded as a loop in C

1.9 Parallel vector addition using Cilk Plus

1.10 Parallel vector addition using ArBB

1.11 Scalar function for addition in C

1.12 Vectorized function for addition in Cilk Plus

1.13 Serial Fibonacci computation in C

1.14

1.15 Vector computation in ArBB

1.16 Elemental function computation in ArBB

3.1 Serial sequence in pseudocode

3.2 Serial sequence, second example, in pseudocode

3.3 Serial selection in pseudocode

3.4 Iteration using a while loop in pseudocode

3.5 Iteration using a for loop in pseudocode

3.6 Demonstration of while/for equivalence in pseudocode

3.7 A difficult example in C

3.8 Another difficult example in C

3.9 Serial implementation of reduction

3.10 Serial implementation of scan

3.11 Superscalar sequence in pseudocode

4.1 Serial implementation of SAXPY in C

4.2 Tiled implementation of SAXPY in TBB

4.3 SAXPY in Cilk Plus using cilk_for

4.4 SAXPY in Cilk Plus using cilk_for and array notation for explicit vectorization

4.5 SAXPY in OpenMP

4.6 SAXPY in ArBB, using a vector expression

4.7 SAXPY in ArBB, using binding code for vector expression implementation

4.8 SAXPY in ArBB, using an elemental function

4.9 SAXPY in ArBB, call operation

4.10 SAXPY in OpenCL kernel language

4.11 Serial implementation of Mandelbrot in C

4.12 Tiled implementation of Mandelbrot in TBB

4.13 Mandelbrot using cilk_for in Cilk Plus

4.14 Mandelbrot in Cilk Plus using cilk_for and array notation for explicit vectorization

4.15 Mandelbrot in OpenMP

4.16 Mandelbrot elemental function for ArBB map operation

4.17 Mandelbrot call code for ArBB implementation

4.18 Mandelbrot binding code for ArBB implementation

4.19 Mandelbrot kernel code for OpenCL implementation

5.1 Serial reduction in C++ for 0 or more elements

5.2 Serial reduction in C++ for 1 or more elements

5.3 Serial implementation of dot product in C++

5.4 Vectorized dot product implemented using SSE intrinsics

5.5 Dot product implemented in TBB

5.6 with double-precision operations

5.7 Dot product implemented in Cilk Plus array notation

5.8 Dot product implementation in Cilk Plus using explicit tiling

5.9 with double-precision operations for multiplication and accumulation

5.10 Dot product implemented in OpenMP

5.11 Dot product implemented in ArBB

5.12 Dot product implementation in ArBB, wrapper code

5.13 High-precision dot product implemented in ArBB

5.14 Serial implementation of inclusive scan in C++

5.15 Serial implementation of exclusive scan in C++

5.16 Three-phase tiled implementation of a scan in OpenMP

5.17 Serial integrated table preparation in C++

5.18 Generic test function for integration

5.19 Concrete instantiation of test function for integration

5.20 Serial implementation of integrated table lookup in C++

5.21 Integrated table preparation in Cilk Plus

5.22 Integrated table preparation in TBB

5.23 Integrated table preparation in ArBB

5.24 Integrated table lookup in ArBB

6.1 Serial implementation of gather in pseudocode

6.2 Serial implementation of scatter in pseudocode

6.3 Array of structures (AoS) data organization

6.4 Structure of arrays (SoA) data organization

7.1 Serial implementation of stencil

7.2 Serial 2D recurrence

8.1 Recursive implementation of the map pattern in Cilk Plus

8.2 that changes tail call into a goto

8.3 Cleaned-up semi-recursive map in Cilk Plus

8.4 Three loop forms illustrating steal-continuation versus steal-child

8.5 Flat algorithm for polynomial multiplication using Cilk Plus array notation

8.6 Karatsuba multiplication in Cilk Plus

8.7 Type for scratch space

8.8 Pseudocode for recursive matrix multiplication

8.9 Code shared by Quicksort implementations

8.10 Fully recursive parallel Quicksort using Cilk Plus

8.11 Semi-recursive parallel Quicksort using Cilk Plus

8.12 Semi-iterative parallel Quicksort using TBB

8.13 Quicksort in TBB that achieves Cilk Plus space guarantee

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Structured Parallel Programming: Patterns for Efficient Computation»

Look at similar books to Structured Parallel Programming: Patterns for Efficient Computation. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Structured Parallel Programming: Patterns for Efficient Computation»

Discussion, reviews of the book Structured Parallel Programming: Patterns for Efficient Computation and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.