The #pragma novector directive instructs the compiler to not auto-vectorize the next loop.
This directive has effect only when -qhot=vector is in effect. With -qhot=vector in effect, the compiler will convert certain operations that are performed in a loop on successive elements of an array (for example, square root, reciprocal square root) into a call to a vector library routine. This call will calculate several results at one time, which is faster than calculating each result sequentially.
The #pragma novector directive prevents the compiler from auto-vectorizing instructions for a specific for loop. The for loop affected by this directive must be the first program statement following the directive.
The #pragma novector directive applies only to the for loop immediately following it. The directive has no effect on other for loops that may be nested within the specified loop.
You can use #pragma novector together with loop optimization and parallelization directives.