Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

RaftLib - Simpler Parallel Programming

CppNow via YouTube

Overview

Explore the complexities of parallel programming and learn about RaftLib, a C++ template library designed to simplify multicore and heterogeneous computing, in this comprehensive conference talk from C++Now 2017. Dive into the challenges of modern hardware complexity, including multiple core types, memory types, and link types, and discover how RaftLib abstracts away these complexities. Gain insights into writing performant parallel applications using familiar stream operator semantics to link multiple parallel actors. Understand how RaftLib enables code execution across multiple processes, threads, and distributed nodes without the need to learn numerous complex interfaces. Walk through the pitfalls of parallel programming, examine RaftLib as a solution, and learn how to use it effectively. Cover topics such as memory folding, productivity improvements, boilerplate code reduction, virtual memory handling, and stream manipulation operators. Benefit from Jonathan Beard's expertise in computer architecture research and his focus on next-generation architectures for Big Data beyond exascale.

Syllabus

Intro
What isRaftLib
Motivation
Memory Folding
ML Programming
Motivation 1 Productivity
Motivation 2 boilerplate code
Motivation 3 Parallel programming
Productivity example
Why did you do a library
Hei adoption
Code example
Virtual Memory
Wrapped Loop Kernel
RaftLib Overview
Injected State
Autopipe
VHDL
OpenCL CUDA
Key Encapsulation
Scheduler
State Capsulation
Split Joints
Barriers
More complicated example
Stream manipulation
Highlevel details
Stream manipulation operators
Finding the library
Memory allocation
Buffer sizes
Allocation

Taught by

CppNow

Reviews

Start your review of RaftLib - Simpler Parallel Programming

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.