Gut funktionierender Multithreading-Code ist für viele immer noch ein Rätsel. In diesem 3-tägigen Kurs lernen die Teilnehmer, wie sie die Leistung moderner Multicore-Prozessoren nutzen können, indem sie die Grundlagen der Parallelität, die Paradigmen der parallelen Programmierung, die Anwendung paralleler Muster und die Vermeidung häufiger Fallstricke verstehen.

Diese Schulung ist sowohl für offene Einschreibungen als auch für firmeninterne Schulungen verfügbar. Die Schulung Multicore-Programmierung in C++ kann an Ihre Situation und Ihre speziellen Bedürfnisse angepasst werden.

Objektiv

Nach erfolgreichem Abschluss des Kurses versteht der Teilnehmer genau, wie Parallelität in modernen CPUs implementiert wird. Der Teilnehmer kann erklären, wie modernes C++ und unterstützende Bibliotheken dazu beitragen, die Komplexität unter Kontrolle zu halten. Der Teilnehmer weiß Bescheid über:

  • Hardware-Architektur und moderne CPU-Engpässe
  • C++11+ Parallelität und Gleichzeitigkeit
  • Reduzieren Sie die Komplexität von Sperren und erleiden Sie weniger Leistungseinbußen aufgrund von Sperren
  • Berkeley's parallele Muster-Bibliothek
  • OpenMP und andere Programmierbibliotheken
  • Geschwindigkeitssteigerung durch Parallelität

Zielgruppe

Dieser Kurs richtet sich an C++ Software-Ingenieure, Designer und Architekten, die fehlerfreien, schnellen Code entwickeln müssen, der die zugrunde liegende Hardware gut ausnutzt.

Voraussetzungen:

  • Erfahrung in der Softwareentwicklung
  • Grundlegendes Verständnis von Betriebssystemen
  • Angemessenes Verständnis von modernem C++
Startdatum Upon request Infos zur nächsten Ausgabe
Dauer 3 aufeinanderfolgende Tage
Frequenz Einmal pro Jahr
Ergebnis
8.6
Preis pro Teilnehmer € 2,300 ohne MwSt. *
Broschüre herunterladen

Programm

Tag 1:

  • Moderne Multicore-Computerarchitektur und Gleichzeitigkeit;
  • Threading-Erweiterungen in C++11 und neueren Versionen;
  • Sperren falsch und richtig gemacht;
  • RAII und libguarded.

Tag 2:

  • OpenMP;
  • Aufgaben- und Datenparallelität;
  • Wie Sie Gleichzeitigkeitsgelegenheiten erkennen;
  • Die parallele Mustersprache von Berkeley;
  • Wie Sie Parallelitätsblocker und Datenverfälscher erkennen und beseitigen können;
  • Anti-Parallelitäts-Muster.

Tag 3:

  • Vektorisierung verwenden;
  • Threadsicheres API-Design;
  • Threading-Bibliotheken;
  • "Effektiver Multicore".

Jeden Tag gibt es Vorlesungen und mindestens zwei größere unterstützende Übungen.

Methoden

Vorlesungen, Diskussionen und Übungen. Am letzten Tag findet mit "Effective Multicore" eine interaktive Sitzung statt, in der wir die Themen aus einem anderen Blickwinkel wieder aufgreifen. Kursmaterial: USB-Stick mit VM und Übungen; Buch mit Kursnotizen, Handouts, Übungen, Lösungen und Spickzetteln.

Zertifizierung

Die Teilnehmer erhalten ein Zertifikat des High Tech Institute für die Teilnahme an dieser Schulung.

Kurs-Bewertungen

"Sehr nützliche Schulung. Die wichtigsten Punkte, die ich gelernt habe: Open MP, Lockless, Funktions-/Datenparallelisierung."

Steven Hoving - Thermo Fisher Scientific

"Die Übungen waren sehr hilfreich, um die Theorie mit der Praxis zu verbinden."

Eria Lopez Valenzuela - Sioux Embedded Systems

"Sehr gut, habe viel gelernt."

Robin Degen - Promexx Technical Automation B.V.

"Das Verhältnis zwischen Theorie und Praxis war sehr gut."

Dries de Winter - Sioux Belgien

"Toller Crash-Kurs für Multicore-Programmierung."

Menno Scholte - Sioux Automation Technology