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, 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 training Multicore programmeren in C++ worden aangepast aan uw situatie en speciale wensen.

Doelstelling

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
  • C++11+ parallellisme en concurrency
  • Minder complex vergrendelen en minder prestatieverlies door vergrendelen
  • Berkeley's parallelle patroonbibliotheek
  • OpenMP en andere programmeerbibliotheken
  • Sneller worden 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 Volgende editie info
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 gelijktijdigheid;
  • Threading-uitbreidingen in C++11 en nieuwer;
  • Vergrendelen verkeerd en goed gedaan;
  • RAII en libguarded.

Dag 2:

  • OpenMP;
  • Taak- en gegevensparallellisme;
  • Hoe je kansen op gelijktijdigheid herkent;
  • De parallelle patroontaal van Berkeley;
  • Hoe parallellismeblokkers en gegevensvervalsers herkennen en verhelpen;
  • Anti-parallellisme patronen.

Dag 3:

  • Vectorisatie gebruiken;
  • Threadsafe API-ontwerp;
  • Threading-bibliotheken;
  • "Effectieve multicore".

Elke dag heeft lezingen en minstens twee grotere ondersteunende oefeningen.

Methoden

Lezingen, discussies en oefeningen. Op de laatste dag is "Effective Multicore" een interactieve sessie waarin we de onderwerpen vanuit een andere invalshoek bekijken. Cursusmateriaal: USB-stick met VM en oefeningen; boek met cursusnotities, handouts, oefeningen, oplossingen en spiekbriefjes.

Certificering

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

Cursusbeoordelingen

"Zeer nuttige training. De belangrijkste dingen die ik geleerd heb: Open MP, Lockless, functionele/gegevensparallellisatie."

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.

"Theorie / praktijk relatie was erg goed."

Dries de Winter - Sioux België

"Geweldige spoedcursus multicore programmeren."

Menno Scholte - Sioux Automatiseringstechniek