*Structured Parallel Programming*by Michael McCool, Arch Robison and James Reinders, copyright 2012, published by Morgan Kaufmann, ISBN 978-0-124-15993-8.

# Downloads

### Attribution Appreciated

We taught a one day tutorial at Supercomputing 2013 (in Denver) on Sunday November 17, 2013 based on the principles in our *Structured Parallel Programming* book. The presentation material we used is available here.

Full Presentation in PDF (3.1MB)

Full Presentation in PPTX (6.7MB)

The latest compilers require some changes to the Cilk Plus examples in the book... we have updated the download of source code to match. You can download the revised/corrected Cilk Plus examples here (0.5MB) or on the download page.

The following details about the tutorial which used this presentation are on the SC13 website:

Structured Parallel Programming with Patterns

SESSION: Structured Parallel Programming with Patterns

Tutorial, 8:30am-5:00pm, Room 302, November 17, 2013 (SC13 - Denver)

Presenters:

Michael D. McCool - Intel Corporation

James R. Reinders - Intel Corporation

Arch Robison - Intel Corporation

Michael Hebenstreit - Intel Corporation

ABSTRACT:

Parallel programming is important for performance, and developers need a comprehensive set of strategies and technologies for tackling it. This tutorial is intended for C++ programmers who want to better grasp how to envision, describe and write efficient parallel algorithms at the single shared-memory node level. This tutorial will present a set of algorithmic patterns for parallel programming. Patterns describe best known methods for solving recurring design problems. Algorithmic patterns in particular are the building blocks of algorithms. Using these patterns to develop parallel algorithms will lead to better structured, more scalable, and more maintainable programs. This course will discuss when and where to use a core set of parallel patterns, how to best implement them, and how to analyze the performance of algorithms built using them. Patterns to be presented include map, reduce, scan, pipeline, fork-joint, stencil, tiling, and recurrence. Each pattern will be demonstrated using working code in one or more of Cilk Plus, Threading Building Blocks, OpenMP, or OpenCL. Attendees also will have the opportunity to test the provided examples themselves on an HPC cluster for the time of the SC13 conference.

Arch D. Robison gave a 1/2 day tutorial on June 17th 2012 at the International Supercomputing Conference in Hamburg Germany. The slides are now available:

Arch D. Robison gave a talk about Cilk Plus at HP-CAST 18 in Hamburg Germany.