25.02.2014 Aufrufe

Linux-Magazin In Zockerhänden (Vorschau)

Erfolgreiche ePaper selbst erstellen

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

elle Version, Thread-lokalen Speicher zu<br />

verwenden.<br />

Parallele Schleifen<br />

Schleifen sind einfach zu parallelisieren,<br />

wenn die einzelnen Ausführungen des<br />

Schleifenrumpfes voneinander unabhängig<br />

sind und die Berechnungen nicht<br />

aufeinander aufbauen. Das ist zwar nicht<br />

immer, aber oft genug der Fall. Das parallele<br />

Äquivalent zur C-Schleife ist »parallel_for«.<br />

Hierbei handelt es sich um ein<br />

Funktionstemplate, das als<br />

template<br />

void parallel_for(const Range& range, U<br />

const Body& body [, partitioner]);<br />

deklariert ist und drei Parameter besitzt:<br />

den Wertebereich »range«, den eigentlichen<br />

Schleifenrumpf »body« und optional<br />

einen Partitionierer »partitioner«. Der<br />

Wertebereich definiert das halboffene <strong>In</strong>tervall<br />

»[a,...,b)«, das die Schleife durchläuft.<br />

Für jeden Wert wird der Schleifenrumpf<br />

einmal ausgeführt. Dies entspricht<br />

einer sequenziellen Schleife der Anweisung<br />

»for(i=a;i

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!