Well-performing multithreaded code is still a mystery to many. This 3-day course teaches participants how to benefit from the power of modern multicore processors by understanding the ins-and-outs of parallelism, the parallel programming paradigms, applying parallel patterns and avoiding common pitfalls.
Read the interview with lecturer Klaas van Gend:
'Multicore programming skills do not come from Dijkstra'.
€ 1.850,00 excl. VAT
3 consecutive days
Eindhoven
23-03-2020 | 09:00 - 17:00
24-03-2020 | 09:00 - 17:00
25-03-2020 | 09:00 - 17:00
After successful completion of the course, the participant thoroughly understands how parallelism is implemented in modern CPUs. The participant can explain how modern C++ and supporting libraries help to keep complexity under control. The participant knows about
C++ software engineers, designers, and architects who need to design bug-free fast-performing code that utilizes its underlying hardware well.
Prerequisites:
Day 1: Modern multicore computer architecture and concurrency, threading extensions in C++11 and newer, locking done wrong and right, RAII and libguarded.
Day 2: OpenMP, task and data parallelism, how to recognize concurrency opportunities, the Berkeley parallel pattern language, how to recognize and remedy parallelism blockers and data corrupters, parallelism anti-patterns.
Day 3: Using Vectorization, threadsafe API design, threading libraries, “Effective Multicore”.
Every day has lectures and at least two larger supporting exercises.
Lectures, discussions, and exercises. On the last day, “Effective Multicore” is an interactive session where we revisit the topics from a different angle. Course material: USB stick with VM and exercises; book with course notes, handouts, exercises, solutions, and cheat sheets.
Participants will receive a High Tech Institute certificate for attending this training.
‘Very useful training. Most important items I have learned: Open MP, Lockless, functional/ data parallelisation.’
‘Exercises were really helpful to couple theory with practice.’
‘Very good, learned a lot.’
‘Theory / practice relation was very good.’
‘Great crash- course for multicore programming.’