Partager via


loop

Les contrôles dont le code de la boucle doit être considéré par auto - parallelizer, et/ou exclut une boucle de la considération en auto - vectorizer.

#pragma loop( hint_parallel(n) )

#pragma loop( no_vector )

#pragma loop( ivdep )

Paramètres

  • hint_parallel(n)
    Les indicateurs au compilateur que la boucle doit être parallélisée entre les threads n , où n est un littéral entier positif ou zéro.Si n est zéro, le nombre maximal de threads est utilisé au moment de l'exécution.Il s'agit d'un indicateur au compilateur, pas la commande, et il n'y a aucune garantie que la boucle est parallélisée.Si la boucle a des dépendances de données, ou le structurel question- pour l'exemple, les magasins de boucle à une variable scalaire utilisée au delà de le corps - ensuite de boucle la boucle ne seront pas parallélisées.

    Le compilateur ignore cette option sauf si le commutateur de compilation de /Qpar soit spécifié.

  • no_vector
    Par défaut, auto - vectorizer est activée et tente de vectorize toutes les boucles qu'elle prend en tirant parti de celui-ci.Spécifiez ce pragma pour désactiver auto - vectorizer pour la boucle qui la suit.

  • ivdep
    Indicateurs au compilateur d'ignorer les dépendances vectorielles de cette boucle.Utilisez ce paramètre conjointement avec hint_parallel.

Notes

Pour utiliser le pragma d' loop , placez-le immédiatement avant-non dans-un la définition de boucle.Le pragma entre en vigueur pour la portée de la boucle qui la suit.Vous pouvez appliquer plusieurs pragmas à une boucle, dans n'importe quel ordre, mais vous devez déclarer chaque dans une instruction pragma distincte.

Voir aussi

Référence

Erreurs et avertissements d'Automobile-Parallélisation

Directives pragma et le mot clé de __Pragma