August 28, 2017 to September 1, 2017
KIT, Campus North, FTU
Europe/Berlin timezone
We are currently updating to the new Indico 2 layout!

Concurrent Programming in C++

Aug 31, 2017, 1:00 PM
5h
Room 163 (FTU)

Room 163

FTU

Speaker

Dr Graeme Stewart (University of Glasgow)

Description

In this course we will introduce how to program for concurrency in C++, taking advantage of modern CPUs' ability to run multi-threaded programs on different CPU cores. We will briefly review the native C++ concurrency features for asynchronous execution, thread spawning and locking as well as a few other features useful for concurrent programming. The tutorial will show you how to use Intel's Threaded Building Block (TBB) library as a much higher level abstraction onto concurrency that allows concurrent applications to be developed much more quickly. We will examine TBB's basic templates for parallel programming, controlling loops and reductions in 1 and 2 dimensions. Then we will see how TBB's graph execution facilities that allow more sophisticated parallel workflows in a DAG to be run. Finally, we will look at the TBB task manager, that allows arbitrary workloads to be executed in parallel when injected into the system by a higher level component.

Students should be familiar with C++ and the standard template library. Some familiarity with makefiles and/or CMake would be useful.

Presentation materials

There are no materials yet.