Documentation Home
> Sun Studio 12: Fortran プログラミングガイド
Sun Studio 12: Fortran プログラミングガイド
Book Information
索引
数字・記号
A
B
C
D
E
F
G
I
L
M
N
O
P
R
S
T
U
V
X
Y
Z
あ
い
う
え
お
か
き
く
け
こ
さ
し
す
せ
そ
た
ち
て
と
な
に
は
ひ
ふ
へ
ほ
ま
み
め
ゆ
よ
ら
り
る
れ
ろ
はじめに
第 1 章 概要
1.1 規格への準拠
1.2 Fortran 95 コンパイラの機能
1.3 そのほかの Fortran ユーティリティー
1.4 デバッグユーティリティー
1.5 Sun Performance Library
1.6 区間演算
1.7 マニュアルページ
1.8 README ファイル
1.9 コマンド行ヘルプ
第 2 章 Fortran 入出力
2.1 Fortran プログラムからのファイルの探査
2.1.1 名前付きファイルに探査する
2.1.2 名前を指定しないでファイルを開く
2.1.2.1 一時ファイルとして開く場合
2.1.2.2 すでに開いている場合
2.1.2.3 あらかじめ接続されているか暗黙の名前付きユニット
2.1.3 OPEN 文を使用せずにファイルを開く
2.1.4 ファイル名をプログラムに渡す
2.1.4.1 実行時引数と GETARG を経由する
2.1.4.2 環境変数と GETENV を経由する
2.1.4.3 コマンド行における入出力のリダイレクトとパイプ
2.2 直接探査入出力
2.3 バイナリ入出力
2.4 ストリーム入出力
2.5 内部ファイル
2.6 ビッグエンディアン式プラットフォームとリトルエンディアン式プラットフォーム間のバイナリ入出力
2.7 そのほかの入出力について
第 3 章 プログラム開発
3.1 make ユーティリティーを使用してプログラムの構築を簡単にする
3.1.1 メイクファイル
3.1.2 make コマンド
3.1.3 マクロ
3.1.4 マクロ値の置換
3.1.5 make の接尾辞規則
3.1.6 .KEEP_STATE と特別な依存性のチェック
3.2 SCCS によるバージョンの追跡と管理
3.2.1 SCCS によるファイルの管理
3.2.1.1 SCCS ディレクトリの作成
3.2.1.2 SCCS ID キーワードの挿入
3.2.1.3 SCCS ファイルの作成
3.2.2 ファイルのチェックアウトとチェックイン
第 4 章 ライブラリ
4.1 ライブラリについて
4.2 リンカーのデバッグオプションの指定
4.2.1 ロードマップの作成
4.2.2 ほかの情報のリスト
4.2.3 整合性のあるコンパイルとリンク
4.3 ライブラリ検索のパスと順序の設定
4.3.1 標準ライブラリパスの検索順序
4.3.1.1 静的リンク
4.3.1.2 動的リンク
4.3.2 LD_LIBRARY_PATH 環境変数
4.3.3 ライブラリ検索のパスと順序 — 静的リンク
4.3.3.1 -l library オプションのコマンド行順序
4.3.3.2 -L dir オプションのコマンド行順序
4.3.4 ライブラリ検索のパスと順序 — 動的リンク
4.3.4.1 構築時に動的ライブラリを指定する
4.3.4.2 実行時に動的ライブラリを指定する
4.3.4.3 動的リンク中のエラーの修正
4.4 静的ライブラリの作成
4.4.1 静的ライブラリの長所と短所
4.4.2 簡単な静的ライブラリを作成する
4.4.2.1 静的ライブラリ中の置換
4.4.2.2 静的ライブラリ中のルーチンの整列
4.5 動的ライブラリの作成
4.5.1 動的ライブラリの長所と短所
4.5.2 位置独立コードと –xcode
4.5.3 リンクオプション
4.5.3.1 –Bdynamic | -Bstatic
4.5.3.2 –dy | -dn
4.5.3.3 64 ビット環境でのリンク
4.5.4 命名規則
4.5.5 簡単な動的ライブラリ
4.5.6 共通ブロックの初期化
4.6 Sun Fortran コンパイラと共に提供されるライブラリ
4.7 出荷可能なライブラリ
第 5 章 プログラムの解析とデバッグ
5.1 大域的なプログラムの検査 (-Xlist)
5.1.1 GPC の概要
5.1.2 大域的なプログラム検査の起動方法
5.1.2.1 画面への出力
5.1.2.2 デフォルトの出力機能
5.1.2.3 ファイル形式
5.1.3 -Xlist と大域的なプログラム検査の例
5.1.4 ルーチン間の大域的な検査を行うサブオプション
5.1.4.1 サブオプションの構文
5.1.4.2 -Xlist とサブオプション
5.2 特別なコンパイラオプション
5.2.1 添字の境界 (–C)
5.2.2 未宣言の変数型 (–u)
5.2.3 コンパイラのバージョンの検査 (–V)
5.3 dbx によるデバッグ
第 6 章 浮動小数点演算
6.1 はじめに
6.2 IEEE 浮動小数点演算
6.2.1 -ftrap=mode コンパイラオプション
6.2.2 浮動小数点演算の例外
6.2.2.1 発生した例外の通知
6.2.3 例外処理
6.2.4 浮動小数点演算の例外のトラップ
6.2.5 非標準の算術演算
6.3 IEEE ルーチン
6.3.1 フラグと ieee_flags()
6.3.1.1 ieee_flags を使用して警告メッセージを抑制する
6.3.1.2 ieee_flags を使用して例外を検出する
6.3.2 IEEE 極値関数
6.3.3 例外ハンドラと ieee_handler()
6.3.3.1 例外ハンドラ関数を設定する
6.3.3.2 ユーザー例外ハンドラ関数を作成する
ハンドラを使用して例外を検出する
ハンドラを使用して例外箇所を突き止める
6.4 IEEE の例外のデバッグ
6.5 数値に関連したその他の問題
6.5.1 単純なアンダーフローを防ぐ
6.5.2 間違った答えのまま継続する
6.5.3 アンダーフローの頻発
6.6 区間演算
第 7 章 移植
7.1 キャリッジ制御
7.2 ファイルを扱う
7.3 科学技術計算用メインフレームから移植する
7.4 データ表現
7.5 ホレリスデータ
7.6 非標準コーディングの手順
7.6.1 初期化されない変数
7.6.2 別名参照と -xalias オプション
7.6.2.1 仮引数や大域的な変数による別名参照
7.6.2.2 Cray ポインタによる別名参照
7.6.2.3 Fortran 95 ポインタによる別名参照
7.6.2.4 配列の境界を越えた添字付けによる別名参照
7.6.2.5 実引数による別名参照
7.6.2.6 -xalias のデフォルト
7.6.3 あいまいな最適化
7.6.3.1 ストリップマイニング (strip-mining)
7.6.3.2 ループの展開
7.7 時間と日付関数
7.8 トラブルシューティング
7.8.1 結果が近いけれども十分ではない場合
7.8.2 警告なしにプログラムが異常終了する
第 8 章 パフォーマンスプロファイリング
8.1 Sun Studio パフォーマンスアナライザ
8.2 time コマンド
8.2.1 time 出力のマルチプロセッサ解釈
8.3 tcov プロファイリングコマンド
8.3.1 拡張 tcov 解析
第 9 章 パフォーマンスと最適化
9.1 コンパイラオプションの選択
9.1.1 パフォーマンスオプション
9.1.1.1 -fast
9.1.1.2 -On
9.1.1.3 PRAGMA OPT=n
9.1.1.4 実行時プロファイルのフィードバックを使用した最適化
9.1.1.5 -dalign
9.1.1.6 -depend
9.1.1.7 -fsimple=2
9.1.1.8 -unroll=n
9.1.1.9 -xtarget=platform
UltraSPARC-III および UltraSPARC-IV サポート
64 ビット x86 プラットフォームのサポート
9.1.1.10 -xipo を使用した内部手続きの最適化
9.1.1.11 PRAGMA ASSUME による表明の追加
9.1.2 パフォーマンスに関するそのほかの方針
9.1.3 最適化されたライブラリの使用
9.1.4 パフォーマンスの抑制要因を除去する
9.1.4.1 キーとなるループから入出力をなくす
9.1.4.2 副プログラムの呼び出しを削減する
9.1.4.3 複雑なコードを整理する
9.1.5 コンパイラのコメントを表示する
9.2 参考文献
第 10 章 並列化
10.1 基本概念
10.1.1 速度向上 — 何を期待するか
10.1.2 プログラムの並列化のための手順
10.1.3 データ依存性の問題
10.1.3.1 データに依存したループ
10.1.3.2 再帰
10.1.3.3 縮約
10.1.3.4 間接アドレス指定
10.1.4 並列オプションと指令についての要約
10.1.5 スレッドの数
10.1.6 スタック、スタックサイズ、並列化
10.2 自動並列化
10.2.1 ループの並列化
10.2.2 配列、スカラー、純スカラー
10.2.3 自動並列化の基準
10.2.3.1 見かけの依存性
10.2.3.2 自動並列化の抑制要因
10.2.3.3 入れ子にされたループ
10.2.4 縮約操作を使用した自動並列化
10.2.4.1 認識される縮約操作
10.2.4.2 数値的な正確性と縮約操作
10.3 明示的な並列化
10.3.1 並列可能なループ
10.3.1.1 スコープ規則: 非公開と共有
10.3.1.2 ループでの副プログラム呼び出し
10.3.1.3 明示的並列化の抑制
10.3.1.4 明示的並列化での入出力
10.3.2 OpenMP 並列化指令
10.4 環境変数
10.5 並列化されたプログラムをデバッグする
10.5.1 デバッグの最初の手順
10.6 参考文献
第 11 章 C と Fortran のインタフェース
11.1 互換性について
11.1.1 関数とサブルーチン
11.1.2 データ型の互換性
11.1.3 大文字と小文字
11.1.4 ルーチン名の下線
11.1.5 引数の参照渡しと値渡し
11.1.6 引数の順序
11.1.7 配列の添字付けと順番
11.1.7.1 配列の添字付け
11.1.7.2 配列の順番
11.1.8 ファイル記述子と stdio
11.1.9 ライブラリと f95 コマンドでのリンク
11.2 Fortran 初期化ルーチン
11.3 データ引数の参照渡し
11.3.1 単純なデータ型
11.3.2 複素数データ
11.3.3 文字列
11.3.4 1 次元配列
11.3.5 2 次元配列
11.3.6 構造体
11.3.7 ポインタ
11.4 データ引数の値渡し
11.5 値を戻す関数
11.5.1 単純型データを戻す
11.5.2 複素数データを戻す
11.5.2.1 32 ビットプラットフォーム
11.5.2.2 64 ビット SPARC プラットフォーム
11.5.3 CHARACTER 文字列を戻す
11.6 名前付き COMMON
11.7 Fortran と C との入出力の共有
11.8 選択戻り (あまり使用されません)
11.9 Fortran 2003 と C の相互運用性
© 2010, Oracle Corporation and/or its affiliates