Oracle® Solaris Studio 12.4: C ユーザーガイド

印刷ビューの終了

更新: 2014 年 12 月
 
 

3.3  環境変数

並列化された C に関係する環境変数の一部を次に示します。OpenMP API 仕様で定義されている追加の環境変数や、Oracle Solaris Studio 実装に固有のものがあります。並列化に関係するすべての環境変数については、『Oracle Solaris Studio OpenMP API ユーザーズガイド』を参照してください。

  • PARALLEL または OMP_NUM_THREADS

    プログラムに使用するスレッドの数を指定するため、PARALLEL または OMP_NUM_THREADS 環境変数を設定します。これらの環境変数が設定されていない場合のデフォルトのスレッド数については、『OpenMP API ユーザーズガイド』を参照してください。

    PARALLEL または OMP_NUM_THREADS のどちらを使用してもかまいません (両者は同義です)。

  • SUNW_MP_THR_IDLE

    バリアーで待機しているか、または作業対象となる新しい並列領域を待っている OpenMP プログラム内のアイドル状態のスレッドのステータスを制御します。詳細は、『Oracle Solaris Studio OpenMP API ユーザーズガイド』を参照してください。

  • SUNW_MP_WARN

    この環境変数を TRUE に設定すると、OpenMP やその他の並列化実行時システムからの警告メッセージが出力されます。詳細は、『Oracle Solaris Studio OpenMP API ユーザーズガイド』を参照してください。

  • STACKSIZE

    実行中のプログラムは、マスタースレッド用のメインメモリースタックと、各スレーブスレッド用の個別のスタックを保持します。スタックとは、サブプログラムの実行中に、引数と自動変数を保持するために使用される一時的なメモリーアドレス空間です。STACKSIZE 環境変数を使用して、スレーブスレッドのスタックのサイズを制御できます。この環境変数が設定されていない場合のデフォルトのスレーブスレッドスタックサイズについては、『OpenMP API ユーザーズガイド』を参照してください。

    STACKSIZE 環境変数の設定は、Oracle Solaris Pthreads API を使用しているプログラムに影響しません。

    スレッドのスタックのサイズが小さすぎる場合は、スタックオーバーフローが発生して、通知なしでデータが壊れたり、セグメント例外が発生したりすることがあります。スタックオーバーフローを検出および診断する方法については、-xcheck=stkovf コンパイラオプションを参照してください。