Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Steuert, wie Schleifencode vom automatischen Parallelisierer berücksichtigt werden soll, oder schließt eine Schleife von der Vektorisierung aus.
Syntax
#pragma loop( hint_parallel(n) )
#pragma loop( no_vector )
#pragma loop( ivdep )
Parameter
hint_parallel(
n)
Ein Hinweis auf den Compiler, dass diese Schleife über n Threads parallelisiert werden soll, wobei n ein positives ganzzahliges Literal oder null ist. Wenn n null ist, wird die maximale Anzahl von Threads zur Laufzeit verwendet. Es ist ein Hinweis auf den Compiler, nicht ein Befehl. Es gibt keine Garantie dafür, dass die Schleife parallelisiert wird. Wenn die Schleife Datenabhängigkeiten oder strukturelle Probleme aufweist, wird sie nicht parallelisiert. Beispielsweise wird sie nicht parallelisiert, wenn sie in einem Skalar gespeichert wird, der über den Schleifentext hinaus verwendet wird.
Der Compiler ignoriert diese Option, es sei denn, der /Qpar Compilerschalter ist angegeben.
no_vector
Standardmäßig versucht der automatische Vektorizer, alle von ihr ausgewerteten Schleifen zu vektorisieren. Geben Sie dies pragma an, um den automatischen Vektorizer für die folgende Schleife zu deaktivieren.
ivdep
Ein Hinweis auf den Compiler, um Vektorabhängigkeiten für diese Schleife zu ignorieren.
Hinweise
Wenn Sie den looppragmaWert verwenden möchten, platzieren Sie ihn unmittelbar vor einer Schleifendefinition, nicht in einer Schleifendefinition. Der pragma Gültigkeitsbereich der Schleife, die darauf folgt, wird wirksam. Sie können mehrere pragma Direktiven auf eine Schleife in beliebiger Reihenfolge anwenden, aber Sie müssen jedes in einer separaten pragma Anweisung angeben.
Siehe auch
Automatische Parallelisierung und automatische Vektorisierung
Pragma-Direktiven und die schlüsselwörter __pragma und _Pragma