インテル® 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]; }