Condividi tramite


loop

I controlli come il codice del ciclo deve essere considerato in automatico - parallelizer e/o esclusi da un ciclo in considerazione automatico - vectorizer.

#pragma loop( hint_parallel(n) )

#pragma loop( no_vector )

#pragma loop( ivdep )

Parametri

  • hint_parallel(n)
    Suggerimenti al compilatore che il ciclo deve essere parallelizzata tramite n thread, dove n è un valore letterale Integer positivo o a zero.Se n è zero, il numero massimo di thread viene utilizzato in fase di esecuzione.Ciò indica al compilatore, non un comando e non è garantito che il ciclo viene parallelizzato.Se il ciclo ha dipendenze di dati, il livello strutturale edizione-, ad esempio gli archivi del ciclo a un valore scalare utilizzato oltre il corpo e infine il ciclo il ciclo non verranno disposti in parallelo.

    Il compilatore ignora questa opzione a meno che l'opzione del compilatore /Qpar sia specificata.

  • no_vector
    Per impostazione predefinita, il ridimensionamento automatico - vectorizer è attivato e tenterà di vectorize tutti i cicli che restituisce come traendo vantaggio da.Specificare questo pragma per disabilitare il ridimensionamento automatico - vectorizer per il ciclo che la segue.

  • ivdep
    Suggerimenti al compilatore di ignorare le dipendenze vettoriale per questo un ciclo.Utilizzare questo insieme a hint_parallel.

Note

Per utilizzare il pragma loop, inserirlo immediatamente prima - non la definizione nel componente del ciclo.Il pragma ha effetto dell'ambito del ciclo successivo.È possibile applicare i pragma in un ciclo, in qualsiasi ordine, ma è necessario dichiarare ogni in un'istruzione distinta di pragma.

Vedere anche

Riferimenti

Errori e avvisi di Auto-Il parallelizzare

Direttive pragma e la parola chiave di __Pragma