インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
特定のループをベクトル化しないように指定します。
#pragma novector |
なし
novector プラグマは、ループのベクトル化が有効な場合でもループをベクトル化しないことを示します。一方、ループのベクトル化の回避が望ましい場合 (ベクトル化によりパフォーマンスが向上せずに劣化する場合)、novector プラグマをソーステキストで使用し、ループのベクトル化を無効にします。この動作は、vector always プラグマと対照的です。
novector プラグマの使用例 |
---|
void foo(int lb, int ub) { #pragma novector for(j=lb; j<ub; j++) { a[j]=a[j]+b[j]; } } |
反復回数 (ub - lb) が低すぎるためベクトル化を行う価値がない場合、novector プラグマを使用して、ループのベクトル化が可能であってもベクトル化しないようにコンパイラーに指示することができます。