PGI 9.0 の新コンパイラ・オプションと従来との変更部分

2009 年 6 月
株式会社 ソフテック
PGI 9.0 の新コンパイラ・オプションと従来との変更部分
未知のコンパイラ・オプションを指定した場合、今までは「警告」レベルの扱いでしたが、PGI 7.1 よ
り、
「エラー」として扱われます。この変更によって、コンパイラが認識できないオプション(スイッチ)
が指定された場合、コンパイルエラーとなり停止することになります。(以前のバージョン PGI 7.1 から適
用されたデフォルトですのでご注意下さい)
一例 : pgf95-Error-Unknown switch: -Mconcu
しかし、-noswitcherror を指定すると、従来のように、未知のオプション(スイッチ)が指定された場
合、エラーで停止する代わりに「警告」を出すように変更できます。
以下のオプションは、PGI 8.0 から追加あるいは、修正されたものです。


-tp - 六つの新しいターゲット CPU タイプ
istanbul
istanbul -32
istanbul -64
nehalem
AMD istanbul プロセッサ 32-bit mode
AMD istanbul プロセッサ, 32-bit mode
AMD istanbul プロセッサ, 64-bit mode
Intel Core i7 (Nehalem) プロセッサ 32-bit mode
nehalem-32
nehalem-64
Intel Core i7 (Nehalem) プロセッサ 32-bit mode
Intel Core i7 (Nehalem) プロセッサ 64-bit mode
-ta=nvidia ( ,nvidia_suboptions) , host - PGI アクセラレータ・コンパイラに伴う新しいオプ
ションです。-ta は、ターゲット・アーキテクチャを意味します。Fortran における !$ACC ディレク
ティブ、C における #pragma acc ディレクティブをコンパイラに認識させるために、このオプショ
ンを使用します。これは、Fortran 並びに C コンパイラのみで有効です。このオプションは、以下の
サブオプションを有します。


nvidia – NVIDIA アクセラレータをターゲットとして選択します。さらに、以下の nvidia 用の
サブオプションがあります。
Analysis
cc10
ループの解析のみ行い、コードの生成を行いません。
compute capability 1.0 のコードを生成
cc11
cc13
nofma
time
compute capability 1.1 のコードを生成
compute capability 1.3 のコードを生成
fused-multiply-add 命令を生成しない
アクセラレータ領域の単純な時間情報を集積するために
プロファイル・ライブラリをリンクする
host – アクセラレータがターゲットとして存在しないコード生成を行う。アクセラレータ領
域をホスト側で実行するようにコンパイルする。PGI Unified Binary コードを生成します。

-Minfo - 新サブオプションが追加されました。
accel
アクセラレータ領域を GPU Kernel に翻訳することが成功したかどうかの情報を示す。

-Msmartalloc - 新しいサブオプションが追加されました。
1
© SofTek Systems, Inc. 2009
nohuge
-Msmartalloc=huge を上書き(無効化)するサブオプションです。

–M[no]m128 - __m128, __m128d, __m128i データ型を認識するための新しいオプションです。
[C コンパイラのみ]

-Mfprelaxed - 新しいサブオプションが追加されました。
recip
緩和した精度で逆数近似する。

–O に新しいサブオプションが追加されました。
-O4
全てのレベル 1、2、3 の最適化を実施した上で、 hoisting of guarded invariant floating
point expressions の最適化を行います。

–Minstrument [=functions] - 新しいサブオプションが追加されました。
Common Compiler Feedback Format (CCFF)を使用して、 PGI コンパイラは、どのようにプログラ
ムの最適化を行ったら良いか、あるいは、特定の最適化がなされないのか等の関数レベルの
instrument 情報をオブジェクトに保持することを可能とします。-Minstrument=functions の指定
も-Minstrument と同じ意味となります。このオプションは、–Minfo=ccff –Mframe の二つを指定
したことと同意です。[linux86-64 のみ]

-Mipa - 新サブオプションが追加されました。
nopfo
プロファイル・フィードバック情報の引用回数情報を無視する。
このサブオプションは、
inline サブオプションの次に指定されているときのみ有効となります。–Mipa=inline,nopfo は、IPA
手続きに対して、PFO 情報が有効な状態において、インラインされる関数を決める際に、PFO 情
報を無視するように伝えます。

-Mpre - 部分的な冗長性排除のためのオプションですが、従来からの all サブオプションが廃止さ
れました。

-Mallocatable=[95|03] - このオプションは、割り付け方法の取り扱いを制御するものです。
デフォルトの振る舞い方は、Fortran 95 のセマンテックを採用し、03 サブオプションを指定すると、
Fortran 2003 セマンテックを採用するようにコンパイラに指示します。
以上
2
© SofTek Systems, Inc. 2009