図
XL Fortran の新機能
はじめに
XL Fortran の機能の概要
ハードウェアおよびオペレーティング・システム・サポート
言語サポート
マイグレーション・サポート
ソース・コードの適合性検査
高度な構成が可能なコンパイラー
診断リスト作成
シンボリック・デバッガー・サポート
プログラムの最適化
文書とオンライン・ヘルプ
XL Fortran のセットアップとカスタマイズ
インストール手順の指示が記載されている資料
ネットワーク・ファイル・システム上でのコンパイラーの使用
環境変数の正しい設定方法
環境変数の原則
各国語サポートのための環境変数
ライブラリー検索パスの設定
PDFDIR: PDF プロファイル情報用ディレクトリーの指定
TMPDIR: 一時ファイルのディレクトリーの指定
XLFSCRATCH_unit: スクラッチ・ファイルの名前の指定
XLFUNIT_unit: 暗黙に接続されるファイルの名前の指定
構成ファイルのカスタマイズ
属性
構成ファイルの実例
インストールした XL Fortran のレベルの判別
2 つのレベルの XL Fortran の実行
XL Fortran プログラムの編集、コンパイル、リンク、実行
XL Fortran ソース・ファイルの編集
XL Fortran プログラムのコンパイル
Fortran 90 プログラムまたは Fortran 95 プログラムのコンパイル
XL Fortran SMP プログラムのコンパイル
Fortran プログラムのコンパイル順序
コンパイルの取り消し
XL Fortran 入力ファイル
XL Fortran 出力ファイル
オプション設定の有効範囲と優先順位
コマンド行でのオプションの指定
ソース・ファイルでのオプションの指定
コマンド行オプションの「ld」または「as」コマンドへの引き渡し
バイナリー・ファイル内の情報の表示 (strings)
特定アーキテクチャーのためのコンパイル方法
C プリプロセッサーによる Fortran ファイルの引き渡し
XL Fortran プログラムに対する cpp ディレクティブ
C プリプロセッサーへのオプションの引き渡し
プリプロセスの問題の回避
XL Fortran プログラムのリンク
別個のステップのコンパイルとリンク
ld コマンドへのオプションの引き渡し
動的および静的リンク
リンク中の命名競合の回避
XL Fortran プログラムの実行
実行の取り消し
別のシステム上でのコンパイルと実行
POSIX Pthreads がサポートする実行時ライブラリー
実行時メッセージ用の言語の選択
実行時オプションの設定
OpenMP 環境変数
実行時の動作に影響を与える他の環境変数
XL Fortran 実行時例外
XL Fortran コンパイラー・オプションに関する参照事項
XL Fortran コンパイラー・オプションの概要
コンパイラーへの入力を制御するオプション
出力ファイルの位置を指定するオプション
パフォーマンスの最適化のためのオプション
エラー・チェックおよびデバッグのためのオプション
リストとメッセージを制御するオプション
互換性を維持するためのオプション
浮動小数点処理のためのオプション
リンクを制御するオプション
他のコンパイラー操作を制御するオプション
廃止、または不適オプション
XL Fortran コンパイラー・オプションの詳細記述
-# オプション
-1 オプション
-B オプション
-C オプション
-c オプション
-D オプション
-d オプション
-F オプション
-g オプション
-I オプション
-k オプション
-L オプション
-l オプション
-N オプション
-O オプション
-o オプション
-p オプション
-Q オプション
-q32 オプション
-q64 オプション
-qalias オプション
-qalign オプション
-qarch オプション
-qassert オプション
-qattr オプション
-qautodbl オプション
-qbigdata オプション
-qcache オプション
-qcclines オプション
-qcheck オプション
-qci オプション
-qcompact オプション
-qcr オプション
-qctyplss オプション
-qdbg オプション
-qddim オプション
-qdirective オプション
-qdirectstorage オプション
-qdlines オプション
-qdpc オプション
-qenablevmx オプション
-qescape オプション
-qessl オプション
-qextern オプション
-qextname オプション
-qfixed オプション
-qflag オプション
-qfloat オプション
-qflttrap オプション
-qfree オプション
-qfullpath オプション
-qhalt オプション
-qhot オプション
-qieee オプション
-qinit オプション
-qinitauto オプション
-qintlog オプション
-qintsize オプション
-qipa オプション
-qkeepparm オプション
-qlanglvl オプション
-qlibansi オプション
-qlibposix オプション
-qlist オプション
-qlistopt オプション
-qlog4 オプション
-qmaxmem オプション
-qmbcs オプション
-qminimaltoc オプション
-qmixed オプション
-qmoddir オプション
-qmodule オプション
-qnoprint オプション
-qnullterm オプション
-qobject オプション
-qonetrip オプション
-qoptimize オプション
-qpdf オプション
-qphsinfo オプション
-qpic オプション
-qport オプション
-qposition オプション
-qprefetch オプション
-qqcount オプション
-qrealsize オプション
-qrecur オプション
-qreport オプション
-qsaa オプション
-qsave オプション
-qsaveopt オプション
-qsclk オプション
-qshowpdf オプション
-qsigtrap オプション
-qsmallstack オプション
-qsmp オプション
-qsource オプション
-qspillsize オプション
-qstrict オプション
-qstrictieeemod オプション
-qstrict_induction オプション
-qsuffix オプション
-qsuppress オプション
-qswapomp オプション
-qtbtable オプション
-qthreaded オプション
-qtune オプション
-qundef オプション
-qunroll オプション
-qunwind オプション
-qversion オプション
-qwarn64 オプション
-qxflag=dvz オプション
-qxflag=oldtab オプション
-qxlf77 オプション
-qxlf90 オプション
-qxlines オプション
-qxref オプション
-qzerosize オプション
-S オプション
-t オプション
-U オプション
-u オプション
-v オプション
-V オプション
-W オプション
-w オプション
-y オプション
64 ビット環境での XL Fortran の使用
64 ビット環境のコンパイラー・オプション
-q32 オプション
-q64 オプション
-qwarn64 オプション
XL Fortran 浮動小数点処理
IEEE 浮動小数点の概要
IEEE を厳守するためのコンパイル方法
IEEE 単精度値および倍精度値
IEEE 拡張精度値
無限大と NaN
例外処理モデル
ハードウェア固有の浮動小数点の概要
単精度および倍精度の値
拡張精度値
XL Fortran の浮動小数点計算の丸め方
丸めモードの選択
丸め誤差の最小化
全体にわたる丸めの最小化
実行時までの丸めの遅延
丸めモードでの整合性の確保
他のシステムの浮動小数点結果の再現
浮動小数点パフォーマンスの最大化
浮動小数点演算例外の検出とトラッピング
浮動小数点演算例外をトラッピングするためのコンパイラー機能
例外ハンドラーのインストール
浮動小数点状況および制御レジスターの制御
xlf_fp_util プロシージャー
fpgets および fpsets サブルーチン
例外処理のためのサンプル・プログラム
特定の変数に対して例外を発生させるには
浮動小数点演算例外のトラッピングによるパフォーマンスへの影響の最小化
XL Fortran プログラムの最適化
XL Fortran の最適化の考え方
最適化のためのコンパイラー・オプションの概要
最適化レベルの選択
最適化レベル -O2
最適化レベル -O3
-O2 および -O3 を最大限に活用する
-O4 および -O5 オプション
ターゲット・マシンまたはターゲット・マシン・クラスの最適化
ターゲット・マシン・オプションを最大限に活用する
浮動小数点計算の最適化
高位変換 (-qhot)
-qhot を最大限に活用する
ループおよび配列言語の最適化
プロファイル指示フィードバック (PDF)
プロファイル指示フィードバック (PDF) の使用
条件付き分岐の最適化
プロシージャー間分析 (-qipa)
-qipa を最大限に活用する
サブプログラム呼び出しの最適化
インライン化の正しいレベルの見つけ方
共用メモリー並列処理 (-qsmp)
-qsmp を最大限に活用する
その他のプログラム動作オプション
その他のパフォーマンス・オプション
最適化したコードのデバッグ
最適化されたプログラムでの異なる結果
コンパイラー・フレンドリーなプログラミング
XL Fortran 入出力のインプリメンテーションの詳細
ファイル形式のインプリメンテーション
ファイル名
事前接続ファイルおよび暗黙接続ファイル
ファイルの位置決め
I/O のリダイレクト
パイプ、スペシャル・ファイル、リンクとの XLF I/O 対話方法
デフォルトのレコード長
ファイル許可
エラー・メッセージと回復処置の選択
I/O バッファーのフラッシュ
入出力ファイルの位置と名前の選択
明示的な名前に接続されていないファイルの命名
スクラッチ・ファイルの命名
非同期 I/O
非同期データ転送操作の実行
使用法
パフォーマンス
コンパイラーで生成する一時 I/O 項目
エラー処理
XL Fortran スレッド・セーフ I/O ライブラリー
シグナル・ハンドラーでの I/O ステートメントの使用
非同期スレッドの取り消し
言語間呼び出し
XL Fortran 外部名の規則
混合言語の入出力
Fortran と C++ の混在
C 関数の呼び出しを機能させる方法
言語から別の言語にデータを渡す
言語間での引き数の引き渡し
言語間でのグローバル変数の引き渡し
言語間での文字型の引き渡し
言語間での配列の引き渡し
言語間のポインターの引き渡し
参照または値による引き数の引き渡し
gcc への複合値の引き渡し
Fortran 関数からの値の戻り
OPTIONAL 属性を持つ引き数
INTENT 属性を持つ引き数
型のエンコードと検査
アセンブラー・レベルのサブルーチンのリンケージ規約
スタック
リンク域および最小スタック・フレーム
入力パラメーター域
レジスター保管域
ローカル・スタック域
出力パラメーター域
引き数の引き渡しに関するリンケージ規約
引き数の引き渡し規則 (値による)
引き数リスト内の引き数の順序
関数呼び出しのリンケージ規約
関数を指し示すポインター
関数値
スタック・フロア
スタック・オーバーフロー
プロローグとエピローグ
トレースバック
C を使用した THREADLOCAL 共通ブロックと ILC
例
問題判別とデバッグ
XL Fortran エラー・メッセージに関する情報
エラーの重大度
コンパイラーの戻りコード
実行時戻りコード
XL Fortran メッセージに関する情報
コンパイル時メッセージ数の制限
メッセージの言語の選択
インストールまたはシステム環境の問題の修正
コンパイル時の問題の修正
他のシステムからの拡張機能の再現
個々のコンパイル単位の問題の分離
スレッド・セーフ・コマンドによるコンパイル
マシン・リソースのこ渇
リンク時の問題の修正
実行時の問題の修正
他のシステムからの拡張機能の再現
引き数のサイズまたは型の不一致
最適化するときの問題の回避策
入出力エラー
トレースバックとメモリー・ダンプ
Fortran 90 または Fortran 95 プログラムのデバッグ
XL Fortran コンパイラー・リストについて
ヘッダー・セクション
オプション・セクション
ソース・セクション
エラー・メッセージ
変換報告書セクション
属性および相互参照セクション
オブジェクト・セクション
ファイル・テーブル・セクション
コンパイル単位エピローグ・セクション
コンパイル・エピローグ・セクション
XL Fortran へのプログラムの移植
移植プロセスの概要
ディレクティブの移植性
NEW
XL Fortran がサポートしている共通の業界用拡張機能
ステートメント内でのデータ型の混在
日付および時刻ルーチン
その他の libc ルーチン
データ型のデフォルト・サイズの変更
ユーザーのプロシージャーと XL Fortran 組み込みプロシージャー間の名前の競合
その他のシステムからの結果の再現
非標準拡張機能の検出
付録 A. サンプルの Fortran プログラム
例 1 - XL Fortran ソース・ファイル
実行結果
例 2 - 有効な C ルーチン・ソース・ファイル
例 3 - 有効な Fortran SMP ソース・ファイル
例 4 - 無効な Fortran SMP ソース
Pthreads ライブラリー・モジュールを使用したプログラミング例
付録 B. XL Fortran 技術情報
コンパイラー・フェーズ
XL Fortranライブラリー内の外部名
XL Fortran 実行時環境
実行時環境の外部名
-qfloat=hsflt オプションの技術情報
-qautodbl のプロモーションと埋め込みの実行の詳細
用語
-qautodbl サブオプションのストレージの関係の例
付録 C. Mathematical Acceleration Subsystem (MASS) の使用
ベクトル・ライブラリーの使用
MASS ベクトル関数の一貫性
MASS でのプログラムのコンパイルとリンク
付録 D. XL Fortran 内部制限
用語集
