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

印刷ビューの終了

更新: 2014 年 12 月
 
 

3.4.179 –xtarget=t

命令セットと最適化の対象とするプラットフォームを指定します。

t には nativenative64genericgeneric64platform-name のいずれかを指定します。

-xtarget オプションは、実際のプラットフォームで発生する、-xarch-xchip-xcache をまとめて指定することができます。-xtarget の意味は = のあとに指定した値を展開したものにあります。

対象となるハードウェア (コンピュータ) の正式な名前をコンパイラに指定した方がパフォーマンスが優れているプログラムもあります。プログラムのパフォーマンスが重要な場合は、対象となるハードウェアを正確に指定してください。これは特に、新しい SPARC プロセッサ上でプログラムを実行する場合に当てはまります。ただし、ほとんどのプログラムおよびより旧式の SPARC プロセッサでは、パフォーマンス向上はごくわずかなので、generic の指定で十分です。

-xtarget の実際の展開値は、リリースによって異なる可能性があります。コンパイラが使用する展開値は、-dryrun フラグを使用して判断できます。

demo% f95 -dryrun -xtarget=ultra4plus
###     command line files and options (expanded):
### -dryrun -xarch=sparcvis 
    -xcache=64/32/4/1:2048/64/4/2:32768/64/4/2 -xchip=ultra4plus

特定の指定プラットフォームでの —xtarget 展開は、同じプラットフォームでの —xtarget=native 指定の展開と異なる場合があります。

3.4.179.1 一般的なプラットフォームとネイティブプラットフォーム

native

ホストプラットフォーム (32 ビット) で、パフォーマンスを最適化します。

—m32 —xarch=native —xchip=native —xcache=native に展開します

native64

廃止。代わりに、—xtarget=native —m64 を使用してください。

generic

たいていの 32 ビットプラットフォームで最高のパフォーマンスが得られるようにします。

これがデフォルトで、 -m32 -xarch=generic -xchip=generic -xcache=generic のように展開します

generic64

廃止。代わりに -xtarget=generic -m64 を使用してください。

platform–name

指定したプラットフォームで、最高のパフォーマンスが得られるようにします。次に一覧で表示します。

3.4.179.2 SPARC プラットフォーム

次の表は、コンパイラが認識できる、一般に使用されているシステムプラットフォーム名の一覧です。

表 3-21  一般に使用されている -xtarget システムプラットフォームの展開
-xtarget= platform-name
-xarch
-xchip
-xcache
sparc64vi
sparcfmaf
sparc64vi
128/64/2:5120/64/10
sparc64vii
sparcima
sparc64vii
64/64/2:5120/256/10
sparc64viiplus
sparcima
sparc64viiplus
64/64/2:11264/256/11
sparc64x
sparcace
sparc64x
64/128/4/2:24576/128/24/32
sparc64xplus
sparcaceplus
sparc64xplus
64/128/4/2:24576/128/24/32
ultra
sparcvis
ultra
16/32/1:512/64/1
ultra1/140
sparcvis
ultra
16/32/1:512/64/1
ultra1/170
sparcvis
ultra
16/32/1:512/64/1
ultra1/200
sparcvis
ultra
16/32/1:512/64/1
ultra2
sparcvis
ultra2
16/32/1:512/64/1
ultra2/1170
sparcvis
ultra
16/32/1:512/64/1
ultra2/1200
sparcvis
ultra
16/32/1:1024/64/1
ultra2/1300
sparcvis
ultra2
16/32/1:2048/64/1
ultra2/2170
sparcvis
ultra
16/32/1:512/64/1
ultra2/2200
sparcvis
ultra
16/32/1:1024/64/1
ultra2/2300
sparcvis
ultra2
16/32/1:2048/64/1
ultra2e
sparcvis
ultra2e
16/32/1:256/64/4
ultra2i
sparcvis
ultra2i
16/32/1:512/64/1
ultra3
sparcvis2
ultra3
64/32/4:8192/512/1
ultra3cu
sparcvis2
ultra3cu
64/32/4:8192/512/2
ultra3i
sparcvis2
ultra3i
64/32/4:1024/64/4
ultra4
sparcvis2
ultra4
64/32/4:8192/128/2
ultra4plus
sparcvis2
ultra4plus
64/32/4/1:2048/64/4/2:32768/64/4/2
ultraT1
sparc
ultraT1
8/16/4/4:3072/64/12/32
ultraT2
sparcvis2
ultraT2
8/16/4:4096/64/16
ultraT2plus
sparcvis2
ultraT2plus
8/16/4:4096/64/16
ultraT3
sparcvis3
ultraT3
8/16/4:6144/64/24
T3
sparcvis3
T3
8/16/4:6144/64/24
T4
sparc4
T4
16/32/4:128/32/8:4096/64/16
T5
sparc4
T5
16/32/4/8:128/32/8/8:8192/64/16/128
M5
sparc4
M5
16/32/4/8:128/32/8/8:49152/64/12/48

注 -  次の SPARC の -xtarget の値は廃止されており、将来のリリースで削除される可能性があります: ultraultra1/140ultra1/170ultra1/200ultra2ultra2eultra2iultra2/1170ultra2/1200ultra2/1300ultra2/2170ultra2/2200ultra2/2300ultra3ultra3cuultra3iultra4、および ultra4plus

64 ビット対応のプラットフォームでの 64 ビット Solaris OS 向けのコンパイルは、-m64 フラグで指示します。-xtarget を指定する場合は、次に示すように -xtarget フラグのあとに -m64 を表示する必要があります。

-xtarget=ultra2   ...   -m64

この指定がないと、デフォルトの 32 ビットメモリーモデルが使用されます。

3.4.179.3 x86 プラットフォーム

x86 システムの有効な -xtarget プラットフォーム名とその展開を、次の表に示します。

表 3-22  x86 プラットフォームでの -xtarget の値
-xtarget=
-xarch
-xchip
-xcache
pentium
386
pentium
generic
pentium_pro
pentium_pro
pentium_pro
generic
pentium3
sse
pentium3
16/32/4:256/32/4
pentium4
sse2
pentium4
8/64/4:256/128/8
opteron
sse2a
opteron
64/64/2:1024/64/16
woodcrest
ssse3
core2
32/64/8:4096/64/16
barcelona
amdsse4a
amdfam10
64/64/2:512/64/16
penryn
sse4_1
penryn
2/64/8:6144/64/24
nehalem
sse4_2
nehalem
32/64/8:256/64/8:8192/64/16
westmere
aes
westmere
32/64/8:256/64/8:30720/64/24
sandybridge
avx
sandybridge
32/64/8/2:256/64/8/2:20480/64/20/16
ivybridge
avx_i
ivybridge
32/64/8/2:256/64/8/2:20480/64/20/16
haswell
avx2
haswell
32/64/8/2:256/64/8/2:20480/64/20/16

64 ビット対応の x86 プラットフォームでの 64 ビット Solaris OS 向けのコンパイルは、-m64 フラグで指示します。たとえば、-xtarget=opteron でのコンパイルは、必要でもなく、十分でもありません。-xtarget を指定する場合は、次に示すように -xtarget フラグのあとに -m64 オプションを表示する必要があります。

-xtarget=opteron -m64

この指定がないと、32 ビット x86 用のコンパイルに戻ります。