Partilhar via


loop pragma

Controla como o código de loop deve ser considerado pelo auto-paralelizador ou exclui um loop da consideração pelo autovetorizador.

Sintaxe

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

Parâmetros

hint_parallel( n)
Uma dica para o compilador de que esse loop deve ser paralelizado em n threads, onde n é um literal inteiro positivo ou zero. Se n for zero, o número máximo de threads será usado em tempo de execução. É uma dica para o compilador, não um comando. Não há garantia de que o loop será paralelizado. Se o loop tiver dependências de dados ou problemas estruturais, ele não será paralelizado. Por exemplo, ele não é paralelizado se armazenar em um escalar usado além do corpo do loop.

O compilador ignora essa opção, a menos que a opção de compilador /Qpar seja especificada.

no_vector
Por padrão, o autovetorizador tenta vetorizar todos os loops que avalia pode se beneficiar dele. Especifique essa pragma para desabilitar o vetorizador automático para o loop a seguir.

ivdep
Uma dica para o compilador ignorar dependências vetoriais para esse loop.

Comentários

Para usar o looppragma, coloque-o imediatamente antes, não em, uma definição de loop. O pragma entra em vigor para o escopo do loop que o segue. Você pode aplicar várias diretivas pragma a um loop, em qualquer ordem, mas deve declarar cada uma delas em uma instrução pragma separada.

Ver também

de paralelização automática e vetorização automática
diretivas Pragma e as palavras-chave __pragma e _Pragma