10.02.2013 Aufrufe

Untitled

Untitled

Untitled

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

3<br />

Parallelisierung von Schleifen<br />

Historisch gesehen liegen die Wurzeln von OpenMP im Bereich<br />

High Performance Computing, wo Programmcode oft<br />

viele Schleifen enthält, in denen auf gemeinsam genutzte<br />

Daten zugegriffen wird. Bei der Parallelisierung solcher<br />

Schleifen kann OpenMP seine Stärken am besten ausspielen.<br />

In diesem Kapitel wird daher auf dieses Haupteinsatzgebiet<br />

von OpenMP ausführlich eingegangen. Darüber hinaus<br />

werden auch Konzepte und Sprachkonstrukte vorgestellt,<br />

die grundlegend für die nachfolgenden Kapitel sind.<br />

3.1 Parallelität auf Schleifenebene<br />

Die parallele Ausführung von Schleifen in OpenMP lässt<br />

sich im Sinne der Flynn’schen Klassifikation als SPMD (single<br />

program multiple data), einem Sonderfall von MIMD<br />

(siehe Abschnitt 1.2.2), beschreiben: Jeder Thread führt<br />

den in der Schleife enthaltenen Code aus, aber jeder für<br />

eine andere Teilmenge von Iterationen und damit auf anderen<br />

Daten. Listing 3.1 zeigt eine einfache sequentielle Im-

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!