3-taegiges Seminar (GNU/Linux) Multicore Programmierung in C und C++ - Seminar / Kurs von Elektor-Verlag GmbH

Inhalte

Dieses dreitägige Training kombiniert Hands-on Übungen mit Theorie, um einige grundlegende Konzepte von C/C++ Multicore Programmierung unter GNU/Linux zu illustrieren. Die Hands-on Sessions werden auf Laptops mit Ubuntu durchgeführt. Dies ermöglicht es Ihnen das Kursmaterial mit nach Hause zu nehmen und damit zu arbeiten. Der ganze Workshop ist so konzipiert, um Sie so schnell wie nur möglich mit dem Thema vertraut zu machen. Sie werden mit unterschiedlichen modernen Techniken lernen in Bezug auf Nebenläufigkeit zu programmieren. Ebenso zeigen wir Ihnen wie Sie Parallelisierungs- und Vektorisierungsmöglichkeiten erkennen können und wie man ”Work Arounds” für Code Konstrukte finden kann, die man nicht parallelisieren kann. Sie werden in der Lage sein ”Deadlocks”, ”False Sharing” und ”Race Conditions” zu vermeiden und zu korrigieren. Sie werden Code schneller schreiben und häufige Fehler zu vermeiden. Nach diesem Kurs werden Ihre Applikationen von Multicore Performance profitieren. Nehmen Sie dazu noch die Fähigkeit Ihre Programme für Multicore Systeme zu optimieren und dies bei Ihren eigenen Entwicklungsprojekten einzusetzen mit nach Hause.

1 Multicore Architekturen und konventionelles

Multi-Threading

  • Multicore CPU Architekturen und deren Speicher Mechanismen
  • Auswirkungen auf den Durchsatz
  • Prozesse und Threads
  • Gemeinsame Nutzung von Daten (Data Sharing) und Locking
  • POSIX threads
  • C11
  • Profiling tools und Rechenaufwand (Computational Complexity)

 2 Parallelisierungsmöglichkeiten

  • Parallelisierungsmuster
  • Abhängigkeiten
  • Blocker für Parallelisierung und Vektorisierung

 3 Parallelisierung ohne über die üblichen Multicore Fallstricke zu stolpern

  • Multithreading mit OpenMP
  • Multithreading mit C++11
  • Die Gefahren von ”CPU Overcommit”
  • Spezielle Libraries und ”Offloading”
  • Häufige Fallstricke bei Multicore-Software-Ingenieuren

Lernziele

Das Ziel dieses Kurses ist es, einen grundlegenden Überblick über Multicore Systeme zu geben und anhand von GNU/Linux zu zeigen welche Probleme dabei auftreten könnten beziehungweise wie man Möglichkeiten zur Parallelisierung finden und nutzen kann. Heutzutage beinhalten die meisten PCs, Tablets und Mobiltelefone Multicore Prozessoren. Leider nutzen die meisten Systeme diese Mehrfachkerne nicht optimal aus. Viele Entwickler denken Multicore Programmierung sei schwierig.

Die meisten Algorithmen unterstützen nicht so einfach mehrere Rechnerkerne und eine neue Klasse an Programmierfehlern kann sich mit Multicore einschleichen, die die Stabilität des Codes gefährden kann. Aber ist Multicore Programmierung wirklich so schwierig? Das Arbeitsbuch und die Übungen werden Ihnen zur Verfügung gestellt, sodaß Sie in Ihrem eigenen Tempo zu Hause noch einmal wiederholen können was man bei Multicore beachten sollte.

Zielgruppen

Manager, Projektleiter, Software-, Hardware-, Entwicklungs- und System-Ingenieure, Techniker und Interessierte an der Technologie, die so schnell wie möglich versuchen wollen zu verstehen wie Multicore Programmierung funktioniert. Sie spielen sich mit dem Gedanken ein Multicore System zu verwenden, sind sich aber nicht ganz sicher, ob Sie alles richtig machen.

SG-Seminar-Nr.: 1504142

Preis jetzt anfragen

Seminar merken ›

Semigator berücksichtigt

  • Frühbucher-Preise
  • Last-Minute-Preise
  • Gruppenkonditionen

und verfügt über Sonderkonditionen mit einigen Anbietern.

Der Anbieter ist für den Inhalt verantwortlich.

Über Semigator mehr erfahren

  • Anbietervergleich von über 1.500 Seminaranbietern
  • Vollständige Veranstaltungsinformationen
  • Schnellbuchung
  • Persönlicher Service