Share via


loop

Steuerelemente, z Schleifencode durch AUTO-parallelizer berücksichtigt werden soll und/oder schließen eine Schleife von der Überlegung durch AUTO-vectorizer aus.

#pragma loop( hint_parallel(n) )

#pragma loop( no_vector )

#pragma loop( ivdep )

Parameter

  • hint_parallel(n)
    Hinweise an den Compiler, dass diese - Schleife über n parallelisiert werden sollte, vorliegt, wo n ein positives ganzzahliges Literal oder null ist.Wenn n null ist, wird die maximale Anzahl von Threads zur Laufzeit verwendet.Dies ist ein Hinweis zum Compiler, kein Befehl, und es gibt keine Garantie, dass die Schleife parallelisiert wird.Wenn die Schleife Datenabhängigkeiten oder das strukturelle Problem-für Beispiel verfügt, werden die Schleifenspeicher zu einem Skalar, das über dem Schleifentexthinaus - dann die Schleife verwendet wird, nicht parallelisiert.

    Der Compiler diese Option ignoriert, es sei denn, der /Qpar Compilerschalter angegeben wird.

  • no_vector
    Standardmäßig ist AUTO-vectorizer und wird versuchen, alle Schleifen vectorize, die es ergibt, wie, profitierend davon.Geben Sie dieses Pragma an, um AUTO-vectorizer für die Schleife zu deaktivieren, die darauf folgenden.

  • ivdep
    Hinweise für den Compiler, von Vektorabhängigkeiten für zu ignorieren durchlaufen.Verwenden Sie dieses in Verbindung mit hint_parallel.

Hinweise

Um das loop Pragma zu verwenden, fügen Sie es sofort in--ein Schleifendefinition VorNOTs.Das - Pragma tritt für den Bereich der Schleife wirksam, die darauf folgenden.Sie können mehrere Pragmas zu einer Schleife, in beliebiger Reihenfolge anwenden, aber Sie müssen jedes in einer separaten Pragmaanweisung berücksichtigen.

Siehe auch

Referenz

AUTO-Parallelisierung Fehler und Warnungen

Pragma-Direktiven und das __Pragma-Schlüsselwort