PGI 6 - ソフテック

2015 年 2 月
株式会社ソフテック
PGI 2015 の新コンパイラ・オプションと従来との変更部分
PGI 15.1から全ての64-bit Linuxコンパイラのデフォルト時のリンク時の挙動は、ダイナミック・
ライブラリをリンクするようになりました。以前のバージョンのデフォルト方式は、出来る限りス
タティック・ライブラリをリンクしてexecutableを生成していました。この新しいデフォルトの扱
い方を変更するには、-Bstatic あるいは-Bstatic_pgi のどちらかのオプションを指定してくだ
さい。以下は、その例を示します。以前のバージョンではスタティックであったPGI用のライブラリ
が shared library に変更されています。
$ ldd a.out
linux-vdso.so.1 => (0x00007fffe2dff000)
libpgf90.so => /usr/pgi/linux86-64/15.1/lib/libpgf90.so (0x00007f242718b000)
libpgf90_rpm1.so => /usr/pgi/linux86-64/15.1/lib/libpgf90_rpm1.so (0x00007f2427088000)
libpgf902.so => /usr/pgi/linux86-64/15.1/lib/libpgf902.so (0x00007f2426f75000)
libpgf90rtl.so => /usr/pgi/linux86-64/15.1/lib/libpgf90rtl.so (0x00007f2426e50000)
libpgftnrtl.so => /usr/pgi/linux86-64/15.1/lib/libpgftnrtl.so (0x00007f2426d1b000)
libpgmp.so => /usr/pgi/linux86-64/15.1/lib/libpgmp.so (0x00007f2426b9e000)
libnuma.so.1 => /usr/lib64/libnuma.so.1 (0x0000003fc9c00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003fca400000)
libpgc.so => /usr/pgi/linux86-64/15.1/lib/libpgc.so (0x00007f2426a10000)
librt.so.1 => /lib64/librt.so.1 (0x0000003fcac00000)
libm.so.6 => /lib64/libm.so.6 (0x0000003fca800000)
libc.so.6 => /lib64/libc.so.6 (0x0000003fca000000)
64-bitコンパイラのアクセラレータ・デバイスコードの生成プログラムが、デフォルトで nvvm
を使用するように変更されました。今まで使用していた古いCUDA-Cコード生成ソフトウェアを使
用する場合は、-ta=tesla:nollvm あるいは -Mcuda=nollvm オプションを指定してください。
PGI 2015 では、以下のような新しいコマンドライン・オプションと既存のオプションに対する新しい
キーワード・サブオプションの追加等が行われております。
■ 新しいコンパイラ・オプション




-c11 : C11 言語を使用する(C/C++ only)
-c1x:-c11 オプションと同じ
-M[no]idiom:ループ内で idiom 認識(パターン認識)を行う [抑止する]
--install:コンパイラの初期設定(makelocalrc)を行う。
(PGI 15.1 ではまだ未実装)
■ –Mcuda サブオプションの変更




cc1x, cc1+, tesla, tesla+(Compute capability 1.x の GPU)が廃止されました
charstring : GPU カーネル内で文字列の使用を制限付きで使用する
[no]lineinfo:GPU line information を生成する
[no]llvm:64-bit 上では LLVM バックエンドをデフォルトとして使う [使わない]
■ –ta=tesla サブオプションの変更

cc1x, cc1+, tesla, tesla+(Compute capability 1.x の GPU)並びに[no]required が廃止
1
© SofTek Systems, Inc. 2013



されました
charstring : GPU カーネル内で文字列の使用を制限付きで使用する
[no]lineinfo:GPU line information を生成する
[no]llvm:64-bit 上では LLVM バックエンドをデフォルトとして使う [使わない]
■ –ta=radeon サブオプション




[no]required が廃止されました
[no]lineinfo:GPU line information を生成する
[no]llvm:64-bit 上では LLVM/SPIR バックエンドをデフォルトとして使う [使わない]
spir:LLVM/SPIR バックエンドを 64-bit モードでフォルトとして使う
■ –acc サブオプション

[no]required が廃止されました
以 上
2
© SofTek Systems, Inc. 2013