自動並列化のしきい値と診断

しきい値制御

-par_threshold{n} オプションは、並列ループ実行の有効性に基づいて、ループの自動並列化のしきい値を設定します。 nの値は0から100までを設定できます。デフォルト値は75 です。このオプションは、コンパイル時に計算量が確定できないループに使用します。しきい値は、通常、ループ繰返し回数がコンパイル時に不明なときに関係します。

-par_threshold{n} オプションには次のバージョンと機能があります。

コンパイラは、作成された複数のスレッドのオーバーヘッドとスレッド間を共有できるワーク量のバランスをとろうとするヒューリスティックスを適用します。

診断

-par_report{0|1|2|3} オプションは、自動パラレライザの診断レベル 0、 1、2、3 を次のように制御します。

並列化診断レポートの例

次の例は、-par_report3で生成された出力結果です。

IA-32 システム: prompt>icc -c -parallel -par_report3 prog.c

Sample Ouput

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.c は次のとおりです。

Sample prog.c

/* 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;

}

トラブルシューティングのヒント