このマニュアルおよび関連マニュアル『Fortran ユーザーズガイド』に説明されている SunTM Studio Fortran 95 コンパイラ、f95 は、SPARC®、UltraSPARC® および x64/x86 プラットフォーム上の SolarisTM オペレーティング環境で利用できます。このコンパイラは、公開されている Fortran 言語規格に準拠しています。また、マルチプロセッサ並列化、最適化されたコードコンパイル、C と Fortran 言語の混在のサポートなど、さまざまな拡張機能を提供します。
また、f95 コンパイラは FORTRAN 77 と互換性があり、古い FORTRAN 77 のソースコードのほとんどを利用できます。このコンパイラコレクションには、独立した FORTRAN 77 コンパイラは含まれていません。FORTRAN 77 との互換性および FORTRAN 77 からの移行に関する問題については、『Fortran ユーザーズガイド』の第 5 章を参照してください。
f95 は、ISO/IEC 1539-1:1997 Fortran 規格ドキュメントの第 1 部に準拠しています。
浮動小数点演算は、IEEE 754-1985 規格および 国際規格の IEC 60559:1989 に準拠しています。
f95 は、Solaris および Linux プラットフォームでの SPARC および x86 ファミリ(UltraSPARC、SPARC64、AMD64、Pentium Pro、および Xeon Intel®64) プロセッサアーキテクチャー機能を利用した最適化をサポートします。
Sun Studio コンパイラは、OpenMP 2.5 共有メモリー並列化 API 仕様に準拠しています。詳細は、『OpenMP API ユーザーズガイド』を参照してください。
このマニュアルで、「規格」は、前述の規格のバージョンに準拠していることを意味します。これらの規格の範囲外の機能を「非標準」または「拡張機能」と呼んでいます。
前述の規格は、標準化団体の責任によって改訂される場合があります。これらのコンパイラが準拠する適用可能な規格のバージョンは改訂されたりほかの規格バージョンで置き換えられることがあります。その結果、Sun Fortran コンパイラの将来のバージョンが、それ以前のバージョンと機能的に互換性を持たなくなる場合があります。
Sun Studio の Fortran 95 コンパイラは、次の機能と拡張を提供します。
引数、共通ブロック、パラメータなどの整合性をルーチン間で調べる大域的なプログラム検査機能
マルチプロセッサシステム用に最適化された、自動選択による明示的なループの並列化機能
次に挙げる機能などの、VAX/VMS Fortran 拡張機能
構造体、レコード、共用体、マップ
再帰
OpenMP 2.5 並列化指令
大域的、局所的、および並列化が可能な最適化は、高性能のアプリケーションを生成します。ベンチマークによると、最適化されたアプリケーションは、最適化していないコードに比べると、はるかに高速に実行できます。
Solaris システム上の共通呼び出し規約によって、C、C++ で書かれたルーチンを Fortran プログラムと結合できます。
UltraSPARC および x64 プラットフォームにおける 64 ビット対応 Solaris 環境のサポート
%VAL を使用した、値による呼び出し
FORTRAN 77 と Fortran 95 のプログラムおよびオブジェクトバイナリの間の互換性
区間演算プログラミング
ストリーム入出力など、「Fortran 2003」の一部の機能
各ソフトウェアリリースのコンパイラに追加された新規および拡張機能についての詳細は、『Fortran ユーザーズガイド』の付録 B を参照してください。
次のユーティリティーは、Fortran でソフトウェアプログラムを開発するときに役立ちます。
Sun Studio パフォーマンスアナライザ - シングルスレッドアプリケーションやマルチスレッドアプリケーションの強力なパフォーマンス解析ツール。analyzer(1) を参照してください。
asa - この Solaris ユーティリティーは、1 桁目に Fortran のキャリッジ制御文字が入っているファイルを印刷するための Fortran 出力フィルタです。Fortran のキャリッジ制御規約によりフォーマットされたファイルを、UNIX のラインプリンタ規約によりフォーマットされたファイルに変換するとき、asa(1) を使用します。asa(1) を参照してください。
fdumpmod - ファイルまたはアーカイブに含まれているモジュールの名前を表示するユーティリティー。fdumpmod(1) を参照してください。
fpp - Fortran ソースコードプリプロセッサ。fpp(1) を参照してください。
fsplit - 複数のルーチンが含まれる Fortran ファイルを複数のファイルに分割し て、1 ファイル 1 ルーチンとします。fsplit は、FORTRAN 77 または Fortran 95 のソースファイルで使用します。fsplit(1) を参照してください。
次のデバッグユーティリティーを使用できます。
Sun Studio dbx - 安定した機能豊富な実行時および静的デバッガ。パフォーマンスデータコレクタを含んでいます。
Sun Performance LibraryTM は、線形代数やフーリエ変換の数値計算用に最適化されたサブルーチンや関数のライブラリです。これは、LAPACK、BLAS1、BLAS2、BLAS3、FFTPACK、VFFTPACK、一般に Netlib (www.netlib.org) から使用できる LINPACK といった標準ライブラリが基になっています。
Sun Performance Library の各サブルーチンは、標準ライブラリと同じ処理を実行し、同じインタフェースを持っていますが、一般に処理速度が格段に速く、より正確で、多重処理環境で使用できます。
詳細については、performance_library の README ファイルと『Sun Performance Library User's Guide』を参照してください。Performance Library ルーチンのマニュアルページは、セクション 3P にあります。
Fortran 95 コンパイラでは、-xia と -xinterval の 2 つのコンパイルフラグが提供されます。これにより、コンパイラは新しい言語拡張機能を使用し、適切なコードを生成して区間演算を実装することが可能です。詳細については、『Fortran 95 Interval Arithmetic Programming Reference』を参照してください。区間演算機能は SPARC/UltraSPARC プラットフォームでのみサポートされます。
オンラインマニュアル (man) ページでは、コマンド、関数、サブルーチンなどの説明を簡単に参照できます。Sun Studio のマニュアルページにアクセスするには、ユーザの MANPATH 環境変数に、インストールされた Sun Studio の man ディレクトリへのパスを設定するようにします。Solaris では、通常は /opt/SUNWspro/man です。
次のコマンドを実行すれば、マニュアルページを表示できます。
demo% man topic |
Fortran 文書では、マニュアルページのリファレンスはトピック名と man セクション番号で表されています。たとえば、f95(1) にアクセスするには、man f95 というコマンドを使用します。また、たとえば ieee_flags のように表記されているセクションにアクセスするには、次のように man コマンドで -s オプションを指定します。
demo% man -s 3M ieee_flags |
Fortran ライブラリルーチンについては、マニュアルページのセクション 3F に記述されています。
次の表に、Fortran ユーザーに関係のある マニュアルページを示します。
f95(1) |
Fortran 95 のコマンド行オプション |
analyzer(1) |
Sun Studio パフォーマンスアナライザ |
asa(1) |
Fortran キャリッジ制御出力の印刷可能形式への変換 |
dbx(1) |
コマンド行対話型デバッガ |
fpp(1) |
Fortran ソースコードプリプロセッサ |
cpp(1) |
C ソースコードプリプロセッサ |
fdumpmod(1) |
MODULE (.mod) ファイルの内容を表示します |
fsplit(1) |
プリプセロッサは Fortran のソースルーチンを分割し、1 ファイル 1 ルーチンとします |
ieee_flags(3M) |
浮動小数点の例外ビットを調査、設定、クリアします |
ieee_handler(3M) |
浮動小数点の例外を処理します |
matherr(3M) |
数学ライブラリのエラー処理ルーチン |
ild(1) |
オブジェクトファイルのインクリメンタルリンクエディタ |
ld(1) |
オブジェクトファイルのリンクエディタ |
Sun Developer Network (SDN) ポータル (http://developers.sun.com/sunstudio) の README ページには、新しい機能やソフトウェアの非互換性、バグ、およびマニュアルの印刷後に発見された情報について説明されています。これらの README ページは、このリリースのポータル上にある文書の一部です。また、file:/opt/SUNWspro/docs にインストールされているソフトウェアの一部である HTML マニュアル索引からもリンクされています。
表 1–1 目的の README ページ
README ページ |
内容 |
---|---|
fortran_95 |
Fortran 95 コンパイラの f95 の新機能と変更された機能、既知の制限事項、正誤表。 |
fpp_readme |
fpp 機能と特性の概要。 |
interval_arithmetic |
f95 の区間演算機能の概要。 |
math_libraries |
使用可能な最適化、特化された数学ライブラリ。 |
profiling_tools |
パフォーマンスプロファイリングツール、prof、gprof、tcov の使用法。 |
runtime_libraries |
エンドユーザーライセンスの観点から再配布可能なライブラリと実行可能プログラム。 |
performance_library |
Sun Performance Library の概要。 |
openmp |
OpenMP 並列化 API の新機能と変更された機能。 |
各コンパイラの README ページへの URL は、-xhelp=readme コマンド行オプションを使用して表示できます。たとえば、次のようなコマンドを使用します。
% f95 -xhelp=readme |
SDN ポータル上のこのリリースの fortran_95 README を表示できる URL が表示されます。
次に示すように、コンパイラの -help オプションを起動すると、f95 のコマンド行オプションの要約を表示できます。
%f95 -help=flags [ ] 内の項目は省略可能。< > 内の項目はパラメータ。 縦線「|」はリテラル値の選択を意味します。 -someoption[={yes|no}] の場合、-someoption は - someoption=yes と同等です。 _______________________________________________________________ -a tcov 基本ブロックごとのプロファイル処理用データ (旧形式) を収集するコードを生成 -aligncommon[=<a>] 共通のブロックエレメントを指定された境界に整列させる。 <a>={1|2|4|8|16} -ansi ANSI 規格以外の拡張機能を報告 -autopar 自動選択によるループの並列化 -Bdynamic 動的なリンクも許容 -Bstatic 静的なリンクのみ許容 -C 実行時の添字の範囲検査を行う -c コンパイルのみ。 .o ファイルを生成し、リンクは行わない |