loop
控制循环代码如何将自动 parallelizer 考虑,和/或从注意事项排除循环通过自动 vectorizer。
#pragma loop( hint_parallel(n) )
#pragma loop( no_vector )
#pragma loop( ivdep )
参数
hint_parallel(n)
对编译器的提示应在 n 中并行化此循环线程,其中 n 是正整数文本或零。 如果 n 为零,线程的最大数在运行时使用。 这是提示编译器,而不是命令,因此,无法保证循环要并行化。 如果循环具有数据依赖关系或体系结构问题。例如,在循环主体然后外使用循环的标量的循环存储不并行化。除非 /Qpar 编译器开关指定,编译器忽略此选项。
no_vector
默认情况下,自动 vectorizer 打开并尝试 vectorize 它的计算结果为受益于它的所有循环。 指定该杂注禁用自动 vectorizer 其后的循环的。ivdep
对忽略此循环的向量依赖项的编译器的提示。 与 hint_parallel结合使用此方法。
备注
若要使用 loop 请注意,将立即在不循环定义之前。 说明生效遵循该循环的大小。 可以将多个批注于一个循环,按任何顺序,但是,您必须指定每一个在单独的批注语句。