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