Skip to main content

Parallelalgorithmen: hier Schleifenparallelisierung

Situation: In einem Ingenieurbüro werden mit eigenentwickelten Finite-Element-Programmen statische Berechnungen für Brücken durchgeführt. Die Genauigkeit der Ergebnisse hängt neben anderen Faktoren auch von der Feinheit des verwendeten Netzes ab, was zur Vergrößerung der Matrizen führt, die das Netz darstellen. Der Kern des betroffenen Programms besteht aus einer Anzahl von Matrixmultiplikationen.

Die Verfeinerung des Netzes hat zur Folge, dass die Dauer der Berechnungen so sehr ansteigt, dass die Berechnung nicht mehr wirtschaftlich ist. Es wurden in jüngster Vergangenheit PC's mit Multicore-Prozessoren beschafft, die es gestatten, Probleme parallel zu bearbeiten.

Aufgabe: Der Auszubildende soll die zeitintensiven Matrixmultiplikationen optimieren und parallelisieren, damit diese Eigenschaft der Rechner genutzt werden kann.

Arbeitschritte:

  1. Abbildung von Matrizen in Rechnern
  2. Durchführung von Matrixmultiplikationen
  3. Parallelisierung der Berechnung der Zielzellen
  4. Berechnung der Zielzellen von unterschiedlichen Threads ausführen lassen
  5. Erstellen von Benutzer- und Entwicklerdokumentation
  6. Bewertung des Laufzeitverhaltens der unterschiedlichen Implementierungen

Ergebnis: Der Auszubildende kennt verschiedene Verfahren zur Implementierung der Matrixmultiplikation. Er hat sich mit den Prinzipien der Parallelverarbeitung vertraut gemacht.

Zeitpunkt: 3. Ausbildungsjahr

Dauer: 20 Tage

Betrieb:
Berufsbildpositionen A1.4, A2

Berufsschule:
Lernfelder 5,11