Condividi tramite


loop pragma

Controlla il modo in cui il codice del ciclo deve essere considerato dal parallelizzatore automatico o esclude un ciclo dalla considerazione da parte del vettore automatico.

Sintassi

#pragma loop( hint_parallel(n) )
#pragma loop( no_vector )
#pragma loop( ivdep )

Parametri

hint_parallel(n)
Suggerimento al compilatore che questo ciclo deve essere parallelizzato tra n thread, dove n è un valore letterale integer positivo o zero. Se n è zero, viene usato il numero massimo di thread in fase di esecuzione. Si tratta di un suggerimento per il compilatore, non per un comando. Non esiste alcuna garanzia che il ciclo verrà parallelizzato. Se il ciclo presenta dipendenze di dati o problemi strutturali, non verrà parallelizzato. Ad esempio, non viene parallelizzato se archivia in un oggetto scalare usato oltre il corpo del ciclo.

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

no_vector
Per impostazione predefinita, il vettore automatico tenta di vettorizzare tutti i cicli valutati può trarre vantaggio da esso. Specificare questa opzione pragma per disabilitare il vettore automatico per il ciclo che segue.

ivdep
Suggerimento al compilatore per ignorare le dipendenze vettoriali per questo ciclo.

Osservazioni:

Per usare looppragma, posizionarlo immediatamente prima, non in, una definizione di ciclo. Ha pragma effetto per l'ambito del ciclo che lo segue. È possibile applicare più pragma direttive a un ciclo, in qualsiasi ordine, ma è necessario specificare ognuna di esse in un'istruzione separata pragma .

Vedi anche

Parallelizzazione automatica e vettorizzazione automatica
Pragmadirettive e parole __pragma chiave e _Pragma