Sun Studio 12 Update 1: Fortran ユーザーズガイド

第 1 章 概要

このマニュアルおよび関連マニュアル『Fortran プログラミングガイド』で説明する SunTM Studio Fortran コンパイラ f95 は、SPARC®、UltraSPARC®、および x64/x86 プラットフォーム上の SolarisTM オペレーティング環境と、x86/x64 プラットフォーム上の Linux 環境で使用可能です。このコンパイラは、公開されている Fortran 言語規格に準拠しています。また、マルチプロセッサ並列化、最適化されたコードコンパイル、C と Fortran 言語の混在のサポートなど、さまざまな拡張機能を提供します。

また、f95 コンパイラには、従来の FORTRAN 77 ソースコードのほとんどが使用可能な FORTRAN 77 互換性モードもあります。単体の FORTRAN 77 コンパイラの提供はありません。FORTRAN 77 の互換性および移行問題については、第 5 章を参照してください。

1.1 準拠規格

これらの標準は、それぞれの標準を策定する組織によって改訂されることがあります。このコンパイラが準拠している規格のバージョンが改訂されたり、ほかのバージョンと交換されることがあります。その結果、Sun Fortran コンパイラのリリースが、将来的に、これまでのリリースと互換性を持たなくなる可能性があります。

1.2 Fortran コンパイラの機能

Sun Studio の Fortran コンパイラ f95 は、次の機能と拡張機能を提供します。

ソフトウェアのリリースの際にコンパイラに追加された新機能あるいは拡張機能の詳細は、付録 B を参照してください。

1.3 そのほかの Fortran ユーティリティー

Fortran でソフトウェアプログラムを開発するには、次のユーティリティーを利用できます。

1.4 デバッグユーティリティー

次のデバッグ用ユーティリティーを利用することができます。

1.5 Sun Performance Library

Sun Performance LibraryTM は、線形代数やフーリエ変換の数値演算に使用できる最適化サブルーチンと関数のライブラリです。このライブラリは、LAPACK、BLAS1、BLAS2、BLAS3、FFTPACK、VFFTPACK、および LINPACK といった標準ライブラリを基盤として構築されており、通常 NetLib ( www.netlib.org) から利用できます。

Sun Performance Library に含まれている各副プログラムは、標準ライブラリのバージョンと同じ演算を行い、同じインタフェースを使用しますが、通常、実行速度も速く、精度もより正確で、マルチプロセッシング環境でも使用することができます。

詳細は、performance_library README ファイル、『Sun Performance Library User’s Guide』を参照してください。パフォーマンスライブラリルーチンのマニュアルページは、3P のセクションにあります。

1.6 区間演算

f95 コンパイラでは、コンパイラフラグである -xia および -xinterval を提供します。これによって、コンパイラは新しい言語拡張を認識し、適切なコードを生成して、区間演算計算を実行します。詳細は、『Fortran 95 区画演算プログラミングリファレンス』を参照してください。区間演算機能は SPARC/UltraSPARC プラットフォームでのみサポートされます。

1.7 マニュアルページ

オンラインのマニュアル (man) ページで、コマンド、関数、サブルーチン、またはそれらの情報に関する説明を簡単に参照できます。Sun Studio のマニュアルページにアクセスするには、MANPATH 環境変数を、インストールされている Sun Studio の man ディレクトリへのパスに設定する必要があります。

マニュアルページを表示するには、次のように入力してください。


demo% man topic

Fortran 関連のマニュアルでは、マニュアルページへの参照が必要な個所では、トピック名とマニュアルセクション番号を示しています。たとえば、f95(1) を参照する場合は、コマンド行で man f95 と入力します。たとえば ieee_flags(3M) など、ほかのセクションを表示するには、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 ソースルーチンを単一ファイルに分割するプリプロセッサ 

ieee_flags(3M)

浮動小数点の例外ビットを検証、設定、解除する 

ieee_handler(3M)

浮動小数点例外を処理する 

matherr(3M)

数学ライブラリエラー処理ルーチン 

ld(1)

オブジェクトファイルに対して使用するリンカー 

1.8 README ファイル

Sun Developer Network (SDN) ポータル (http://developers.sun.com/sunstudio/) の README ページには、新機能、ソフトウェアの非互換性、バグ、マニュアルが印刷されたあとに判明した情報などがあります。これらの README ページは、このリリースのポータルのマニュアルの一部で、ソフトウェアの一部として file:/opt/SUNWspro/docs にインストールされる HTML のマニュアル索引からもリンクされています。

表 1–1 重要な README ページ

README ページ  

内容  

fortran_95

Fortran コンパイラ f95 の今回のリリースの新機能と変更点、報告されている制限事項、マニュアルの訂正と補足

fpp_readme

fpp 機能の概要

interval_arithmetic

f95 における区間演算機能の概要

math_libraries

最適化された専門の数学ライブラリ 

profiling_tools

パフォーマンスプロファイルツール profgproftcov の使用

runtime_libraries

一般ユーザーライセンスで再配布されるライブラリと実行可能ファイル 

performance_library

Sun Performance Library の概要 

openmp

OpenMP 並列化 API の新規機能と変更機能 

README ページの URL は、-xhelp=readme コマンド行オプションで表示できます。たとえば、次のようなコマンドを使用します。


% f95 -xhelp=readme

これによって、SDN ポータルにあるこのリリースの fortran_95 README を表示する URL が表示されます。

1.9 コマンド行ヘルプ

次のようにコンパイラの -help オプションを起動すると、f95 のコマンド行オプションの要約を表示できます。


%f95 -help=flags
Items within [ ] are optional. Items within < > are variable parameters.
Bar | indicates choice of literal values.
-someoption[={yes|no}] implies -someoption is equivalent to -someoption=yes
_______________________________________________________________
-a                 Collect data for tcov basic block profiling
-aligncommon[=<a>] Align common block elements to the specified 
                   boundary requirement; <a>={1|2|4|8|16}
-ansi              Report non-ANSI extensions.
-autopar           Enable automatic loop parallelization
-Bdynamic          Allow dynamic linking
-Bstatic           Require static linking
-C                 Enable runtime subscript range checking
-c                 Compile only; produce .o files but suppress
                   linking
...etc.