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

3.4.82 -parallel

(廃止SPARC)-autopar-explicitpar-depend で並列化します。


注 –

このオプションには、従来の Sun および Cray の並列化指令を有効にする -explicitpar が含まれます。これらの指令は推奨されず、サポートされません。Sun Studio コンパイラで推奨され、サポートされる並列化モデルは OpenMP API です。従来の Sun/Cray 指令を OpenMP に移行する方法の詳細は、『Sun Studio OpenMP API ユーザーズガイド』を参照してください。


並列化するループの選択は、コンパイラによって自動的に、またユーザーの明示的な指令によって行われます。最適化レベルが -O3 よりも低い場合は、自動的に -O3 に設定されます。「3.4.23 -explicitparも参照してください。

パフォーマンスを改善するため、-autopar などの並列化オプションを使用する場合、-stackvar オプションも指定してください。

デフォルトでは、Sun 形式の並列化指令が有効です。Cray 形式の並列化指令を選択する場合は、-mp=cray を使用します (注: OpenMP 並列化の場合は、-parallel ではなく、-xopenmp を使用する)。

独自のスレッド管理を行なっている場合には、-parallel を使用しないでください。「3.4.60 -mtを参照してください。

-parallel のような並列化オプションは、マルチプロセッサシステムで実行するための実行可能プログラムを生成することを前提としています。シングルプロセッサシステムで並列化を行うと、通常はパフォーマンスが低下します。

並列化されたプログラムをマルチスレッド環境で実行するには、実行前に PARALLEL (または OMP_NUM_THREADS) 環境変数を設定しておく必要があります。これは、プログラムが作成できる最大スレッド数を実行時システムに指示しています。デフォルトは 1 です。 一般的に、PARALLEL 変数または OMP_NUM_THREADS 変数には、ターゲットプラットフォーム上の利用可能な仮想プロセッサ数を設定します (psrinfo(1) を参照)。

-parallel を使用してコンパイルとリンクを一度に行う場合、マルチスレッド処理ライブラリとスレッド対応の Fortran 実行時ライブラリが自動的にリンクされます。-parallel を使用してコンパイルとリンクを分けて行う場合は、リンクにも-parallel を指定する必要があります。

詳細は、『Fortran プログラミングガイド』の「並列化」の章を参照してください。