-par_threshold{n} オプションは、並列ループ実行の有効性に基づいて、ループの自動並列化のしきい値を設定します。n の値は 0 から 100 まで設定できます。デフォルト値は75 です。このオプションは、コンパイル時に計算量が確定できないループに使用します。しきい値は、通常、ループ反復回数がコンパイル時に不明なときに関係します。
-par_threshold{n} オプションには次のバージョンと機能があります:
コンパイラは、作成された複数のスレッドのオーバーヘッドとスレッド間を共有できるワーク量のバランスをとろうとするヒューリスティックスを適用します。
-par_report{0|1|2|3} オプションは、自動パラレライザの診断レベル 0、1、2、3 を次のように制御します:
次の例は、-par_report3で生成された出力結果です:
prompt>icpc -c -parallel -par_report3 prog.cpp
program prog procedure: prog serial loop: line 5: not a parallel candidate due to statement at line 6 serial loop: line 9 flow data dependence from line 10 to line 10, due to "a" 12 Lines Compiled |
プログラム prog.cpp は次のとおりです:
/* Assumed side effects */
for (i=1; i<10000; i++) { a[i] = foo(i); }
/* Actual dependence */
for (i=1; i<10000; i++) { a[i] = a[i-1] + i; } |