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-house sessies. Voor in-house sessies kan de training ‘Multicore-programmeren in C++’ worden aangepast aan uw situatie en specifieke behoeften.

Objective

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;

Target Audience

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++
Start date Upon request Next edition info
Duration 3 consecutive days
Frequency Eenmaal per jaar
Score
8.6
Price per participant € 2,300 excl. VAT *
Download brochure

Program

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.

Methods

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.

Certification

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

Course Reviews

"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