Parallel Design Patterns and Stream Parallelism
Offered By: ACCU Conference via YouTube
Course Description
Overview
Explore parallel design patterns and stream parallelism in this ACCU 2018 conference talk. Dive into GrPPI (Generic and reusable Parallel Patterns Interface), an experimental library for expressing parallelism through patterns. Learn about stream parallelism, its applications in video processing and tweet sentiment analysis, and the composability of streaming patterns. Discover GrPPI's support for multiple back-ends, including sequential, OpenMP, IntelTBB, and ISO C++ threads. Gain insights into various parallel programming concepts, including data set patterns, sequence mapping, reductions, stencil patterns, divide-and-conquer algorithms, pipelines, farm patterns, and stream reduction. Examine real-world applications such as Brain MRI evaluation and performance metrics like frames per second. Access the open-source GrPPI library on GitHub to apply these concepts in your own projects.
Syllabus
Intro
Sequential Programming versus Parallel Programming
Software design
Adding two vectors
Example: Transforming a sequence
Execution model properties
A classification
Patterns on data sets
Single sequences mapping
Multiple sequences mapping
Heterogeneous mapping
Homogeneous reductions
Cannonical map reduce
Stencil pattern
Single sequence stencil
Divide conquer pattern
A patterned merge sort
Standalone pipeline
Generators
Nested pipelines
Nested pipelings
Piecewise pipelines
Farm pattern
Ordering
Queueing properties
Filter pattern
Stream reduction pattern
Windowed reductions
Performance: frames per second
Brain MRI (Magnetic Resonance Imaging)
MRI Evaluation
Taught by
ACCU Conference
Related Courses
Software as a ServiceUniversity of California, Berkeley via Coursera Software Testing
University of Utah via Udacity The Hardware/Software Interface
University of Washington via Coursera Software Debugging
Saarland University via Udacity Introduction to Systematic Program Design - Part 1
The University of British Columbia via Coursera