Gibt es einen impliziten Barrier nach omp kritischen Abschnitt?

8

Gibt es nach dem kritischen Abschnitt omp eine implizite omp-Barriere?

Beispiel: Kann ich den folgenden Code version-1 in version-2 ändern.

VERSION-1

%Vor%

VERSION-2

%Vor%

Bekomme ich das gleiche Ergebnis für Version-1 und Version-2?

Gibt es nach der omp kritischen Zone eine implizite Barriere?

BEARBEITEN: Sorry, wenn das Beispiel sehr schlecht ist. Außerdem würde ich gerne wissen, ob es einen Leistungsunterschied zwischen Version-1 und Version-2 geben würde

    
veda 04.05.2012, 06:08
quelle

2 Antworten

11

Kritische Abschnitte haben keine Barrieren, weder an ihren Anfängen noch an ihren Enden. Ein kritischer Abschnitt ist ein Synchronisierungskonstrukt, das verhindert, dass mehrere Threads gleichzeitig auf dieselben Daten zugreifen. Sie benötigen eine zusätzliche Barriere nach dem kritischen Abschnitt, wenn Sie das korrekte globale Minimum haben möchten, bevor Sie den parallelen Bereich verlassen. Wie bereits gesagt wurde, hat die parallele Region am Ende eine implizite Barriere.

    
Hristo Iliev 04.05.2012, 10:46
quelle
0

Sie erhalten einen Leistungsvorteil, wenn Sie nowait verwenden, wenn es eine große Anzahl von Iterationen gibt.

    
haxor 07.05.2012 08:08
quelle

Tags und Links