Sun Studio 12: Fortran プログラミングガイド

9.1.1.9 -xtarget=platform

コンパイラにターゲットのコンピュータハードウェアの正確な情報を伝えると、パフォーマンスが上がるプログラムもあります。プログラムのパフォーマンスを重視する場合は、ハードウェアを適切に指定することが極めて重要です。特に、プログラムをより新しい SPARC システム上で実行する場合には重要になります。しかし、ほとんどのプログラムと古い SPARC プロセッサの場合、パフォーマンスはそれほど上がらず、汎用指定だけで十分です。

Fortran ユーザーズガイド』には、-xtarget= が認識するすべてのシステム名がリストされています。特定のシステム名に対して (たとえば、UltraSPARC-II なら ultra2)、-xtarget は、システムに適切に一致するように、-xarch-xcache-xchip の組み合わせに展開されます。オプティマイザはこれらの指定を使用して、従うべき方法と生成する命令を決定します。

-xtarget=native は特別な設定で、これを指定すると、オプティマイザはホストシステム (コンパイルを行うシステム) をターゲットとしてコードをコンパイルします。コンパイルと実行を同じシステム上で行うときは、このオプションが断然便利です。実行システムが不明であるときは、汎用のアーキテクチャー用にコンパイルするのが望ましい方法です。そのため、最適のパフォーマンスを得ることはできませんが、-xtarget=generic がデフォルトになります。

UltraSPARC-III および UltraSPARC-IV サポート

-xtarget フラグと -xchip フラグは、どちらも ultra3ultra3 バリアントを受け入れ、UltraSPARC-III プロセッサおよび UltraSPARC-IV プロセッサ用に最適化されたコードを生成します。最新の UltraSPARC プラットフォーム上でアプリケーションのコンパイルと実行を行うときは、-fast フラグを指定すると、そのプラットフォームに適したコンパイラ最適化オプションを自動的に選択できます。

クロスコンパイル (最新の UltraSPARC プラットフォーム以外のプラットフォームでコンパイルするが、UltraSPARC-III プロセッサで実行するためのバイナリを生成する) には、次のフラグを使用してください。

-fast -xtarget=ultra3

64 ビットコード生成用にコンパイルするには -m64 を使用してください。

最新の UltraSPARC プロセッサ用の -xtarget フラグのリストについては、『Fortran ユーザーズガイド』を参照してください。

-xprofile=collect: および -xprofile=use: を使用したパフォーマンスプロファイルは、特に UltraSPARC-III プラットフォームおよび UltraSPARC-IV プラットフォームで有効です。これは、コンパイラがもっとも頻繁に実行されるプログラムのセクションを特定し、局所的な最適化を実行して、最高のパフォーマンスを引き出すことができるからです。

64 ビット x86 プラットフォームのサポート

Sun Studio Fortran コンパイラは、Solaris および Linux x86 プラットフォーム向けに 32 ビットおよび 64 ビット両方のコードのコンパイルをサポートしています。

-xtarget=pentium3 フラグは、次のように展開されます。-xarch=sse -xchip=pentium3 -xcache=16/32/4:256/32/4

Pentium 4 システムの場合、-xtarget=pentium4 は次のように展開されます。-xarch=sse2 -xchip=pentium4 -xcache=8/64/4:256/128/8

新しい -m64 オプションは、64 ビット x64 命令セット用のコンパイルを指定します。

新しい -xtarget オプションの -xtarget=opteron は、32 ビット AMD コンパイル用の -xarch-xchip-xcache の設定を指示します。

64 ビットコードを生成するには、コマンド行で -fast および -xtarget のあとに -m64 を指定する必要があります。-xtarget オプションは、自動的には 64 ビットコードを生成しません。-xtarget 値の定義もしているマクロのため、-fast オプションもまた 32 ビットコードになります。-xtarget=native64 および -xtarget=generic64 を除く、現在の -xtarget 値はすべて 32 ビットコードになるため、64 ビットコードを生成するには、次に示すように、コマンド行で -fast または -xtarget のあとに -xarch=m64 を指定する必要があります。

% f95 -fast -m64 または % f95 -xtarget=opteron -m64

-xarch=amd64 が指定されると、コンパイラが __amd64 および __x86_64 を事前定義するようになりました。

32 ビットおよび 64 ビット x86 プラットフォームでのコンパイルとパフォーマンスについての詳細は、『Fortran ユーザーズガイド』を参照してください。