インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
最適化のためのストリーミング・ストアの生成を有効にします。
Linux* および macOS*: | -qopt-streaming-stores=keyword |
Windows*: | /Qopt-streaming-stores:keyword |
keyword |
ストリーミング・ストアを生成するかどうかを指定します。設定可能な値は以下のとおりです。
|
-qopt-streaming-stores=auto |
コンパイラーの判断によって、ストリーミング・ストアまたは通常のストアが使用されます。 |
このオプションは、最適化のためのストリーミング・ストアの生成を有効にします。一時的ではないバッファーを使用する命令でデータをストアし、メモリー階層の汚染を最小限に抑えます。
このオプションは、ストリーミング・ストアを使用することで拡張が可能なアプリケーションで役立ちます。
なし
次の例は、-qopt-streaming-stores=always または /Qopt-streaming-stores:always を指定する場合に、フェンスを挿入する 1 つの方法を示します。
void simple1(double * restrict a, double * restrict b, double * restrict c, double *d, int n)
{
int i, j;
#pragma omp parallel for
for (j=0; j<n; j++) {
a[j] = 1.0;
b[j] = 2.0;
c[j] = 0.0;
}
_mm_sfence(); // または _mm_mfence();
#pragma omp parallel for
for (i=0; i<n; i++)
a[i] = a[i] + c[i]*b[i];
}