De cursus wordt in het Engels verzorgd onder de titel "Multicore Programming in C++".

Goed presterende multithreaded code is voor velen nog steeds een mysterie. Deze 3-daagse cursus leert deelnemers hoe ze kunnen profiteren van de kracht van moderne multicore processoren door de ins en outs van parallellisme te begrijpen, inzicht te hebben in de parallelle programmeerparadigma's, parallelle patronen toe te passen en veelvoorkomende valkuilen te vermijden.

Deze training is zowel beschikbaar voor open inschrijving als voor in-company sessies. Voor in-company sessies kan de inhoud worden aangepast aan jouw situatie en speciale wensen.

Leerdoelen

Na succesvolle afronding van de cursus begrijpt de deelnemer grondig hoe parallellisme in moderne CPU's wordt geĆÆmplementeerd. De deelnemer kan uitleggen hoe moderne C++ en ondersteunende bibliotheken helpen om de complexiteit onder controle te houden. De deelnemer weet over:

  • hardwarearchitectuur en moderne CPU-knelpunten;
  • parallellisme en concurrency in C++11+;
  • het verlagen van de lockingcomplexiteit en het verkleinen van het performanceverlies door locking;
  • Berkeleys parallelle patroonbibliotheek;
  • OpenMP en andere programmeerbibliotheken;
  • versnelling door parallellisme;

Doelgroep

Deze cursus is bedoeld voor C++-software-engineers, ontwerpers en architecten die bugvrije, snel presterende code moeten ontwerpen die goed gebruik maakt van de onderliggende hardware.

Vereisten:

  • Ervaring met softwareontwikkeling
  • Basiskennis van besturingssystemen
  • Redelijk begrip van moderne C++
Startdatum Upon request Info volgende editie
Duur 3 opeenvolgende dagen
Frequentie Eenmaal per jaar
Score
8.6
Prijs per deelnemer € 2,300 excl. btw *
Brochure downloaden

Programma

Dag 1:

  • Moderne multicore computerarchitectuur en concurrency
  • Threading-uitbreidingen in C++11 en nieuwer
  • Verkeerde en goede locking
  • RAII en libguarded

Dag 2:

  • OpenMP
  • Taak- en dataparallellisme
  • Hoe je mogelijkheden voor concurrency herkent
  • De parallelle patroontaal van Berkeley
  • Hoe parallellismeblokkers en datacorrupters te herkennen en verhelpen
  • Anti-patronen voor parallellisme

Dag 3:

  • Vectorisatie gebruiken
  • Threadsafe API-ontwerp
  • Threading-bibliotheken
  • "Effective multicore"

Elke dag heeft lessen en minstens twee grotere ondersteunende oefeningen.

Methodiek

Lessen, discussies en oefeningen. Op de laatste dag is er een interactieve "Effective multicore"-sessie waarin we de onderwerpen vanuit een andere invalshoek bekijken. Cursusmateriaal: USB-stick met VM en oefeningen, boek met cursusnotities, handouts, oefeningen, oplossingen en cheat sheets.

Certificering

Deelnemers ontvangen een certificaat van High Tech Institute voor het volgen van deze training.

Cursusbeoordelingen

"Zeer nuttige training. De belangrijkste dingen die ik geleerd heb: OpenMP, lockless, functionele/dataparallellisatie."

Steven Hoving - Thermo Fisher Scientific

"Oefeningen waren echt nuttig om de theorie aan de praktijk te koppelen."

Eria Lopez Valenzuela - Sioux Embedded Systems

"Zeer goed, veel geleerd."

Robin Degen - Promexx Technical Automation B.V.

"Verhouding tussen theorie en praktijk was erg goed."

Dries de Winter - Sioux Belgiƫ

"Geweldige spoedcursus multicore programmeren."

Menno Scholte - Sioux Automatiseringstechniek