O'Reilly logo

Patterns for Parallel Programming by Berna L. Massingill, Beverly A. Sanders, Timothy G. Mattson

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 4The Algorithm Structure Design Space

4.1 INTRODUCTION

4.2 CHOOSING AN ALGORITHM STRUCTURE PATTERN

4.3 EXAMPLES

4.4 THE TASK PARALLELISM PATTERN

4.5 THE DIVIDE AND CONQUER PATTERN

4.6 THE GEOMETRIC DECOMPOSITION PATTERN

4.7 THE RECURSIVE DATA PATTERN

4.8 THE PIPELINE PATTERN

4.9 THE EVENT-BASED COORDINATION PATTERN

4.1 Introduction

The first phase of designing a parallel algorithm consists of analyzing the problem to identify exploitable concurrency, usually by using the patterns of the Finding Concurrency design space. The output from the Finding Concurrency design space is a decomposition of the problem into design elements:

• A task decomposition that identifies tasks that can execute concurrently

• A data decomposition ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required