Sun Studio 12: C ユーザーズガイド

B.2.123 -xparallel

(SPARC) 旧式。使わないでください。この代わりに -xopenmp を使用してください。


注 –

-xparallel は、OpenMP の並列化命令を受け付けません。ただし、Sun 固有の MP プラグマは推奨されず、サポートされません。推奨され、サポートされる並列化モデルは OpenMP API です。標準命令への移植については、『Sun Studio 12: OpenMP API ユーザーズガイド』を参照してください。


ループを、コンパイラで自動的に並列化するとともに、プログラマの指定によって明示的に並列化します。-xparallel オプションはマクロで、-xautopar-xdepend-xexplicitpar の 3 つをすべて指定することと同じです。ループの明示的な並列化では、誤った結果が生まれる危険性があります。最適化が -xO3 以上でない場合、-xO3 に上げられ、警告が出されます。

独自のスレッド管理を行なっている場合には、-xparallel を使用しないでください。-xparallel を発行する場合、-xopenmp を発行しないでください。-xparallel は、-xopenmpを指定する際に発行すべきでない -xexplicitpar を設定するからです。

コードの実行速度を高めたければ、このオプションにはマルチプロセッサシステムが必要です。シングルプロセッサシステムでは、通常、生成されたコードの実行速度は低下します。

コンパイルとリンクを 1 度に実行すると、-xparallel によりマイクロタスキング ライブラリとスレッドに対して安全な実行時ライブラリがリンクに含まれます。-xparallel オプションを使用してコンパイルとリンクを別々に実行する場合、リ ンクにも -xparallel オプションを指定しなければいけません。表 A–2 に、コンパイル時とリンク時の両方に指定する必要があるコンパイラオプションの全一覧をまとめています。