<<

マトリックス乗算
    
マルチスレッド・プログラム
   自動並列化の概要
   並列処理の概要
マルチスレッド化
   OpenMP* のサポート・ライブラリー
   自動並列化のプログラミング
マルチファイル IPO
    概要
    効果の解析
    最適化
    実行ファイルの作成と使用
       コマンドラインによる IPO 実行ファイルの作成
       マルチファイル IPO 実行ファイルの作成
マルチファイル IPO の効果
メモリー
    依存性
       IVDEP 宣言子によるメモリー依存
       ループ変換
    割り当て
メモリー・エイリアシング



ユーザー関数
   デベロッパーが指示するユーザー関数のインライン展開
   ユーザー関数のインライン展開の制御
ユーティリティー
    profmerge
    proforder



ライブラリー
   IPO コンパイルモデル
   アプリケーションの時間測定
    OpenMP* ランタイム・ルーチン
       OpenMP* ランタイム・ライブラリー・ルーチン
       インテル拡張ルーチン/関数
    ライブラリー関数のインライン展開
ライブラリー・ルーチン
    OpenMP* ランタイム・ルーチン
    インテル拡張
    ライブラリー関数のインライン展開
ライブラリー関数
ランタイムチェック
    プロセッサー固有
リセット
    プロファイル情報
    動的プロファイル・カウンター
ルーチン
    OpenMP* ランタイム
    インテル拡張
    タイミング
ループ
   ループの構造
   ループカウントとループ分配
   ループ本体内の文
    アンチ依存性
    アンロール
       ループのアンロール
       ループのアンロールのサポート
    カウント
       ループのアンロールのサポート
       ループカウントとループ分配
    セクション化
    データ依存性
    フロー依存性
    ブロッキング
       ストリップマイニングとクリーンアップ
       用語集
    ベクトル化
       ベクトル化されるループの種類
       ループの並列化とベクトル化
    ベクトル化される種類
    リダクション
    ループ本体内の配列
    依存性
       ベクトル化のサポート
       自動並列化のプログラミング
    交換
       ランタイム・パフォーマンスの理解
       ループ交換と添字: マトリックス乗算
       ループ変換
       高レベルな最適化の概要
       最適化手法の適用
    構造
    手動変換
    出口条件
    出力依存性
    独立性
    分配
       ループカウントとループ分配
       ループ変換
       高レベルな最適化の概要
    並列化
       ループの並列化とベクトル化
       自動並列化のプログラミング
       並列処理の概要
    変換
       ストリップマイニングとクリーンアップ
       ランタイム・パフォーマンスの理解
       ループ変換
       高レベルな最適化の概要
       最適化オプションのまとめ
    本体
ループのアンロール
   コンパイラー宣言子の概要
   ベクトル化プログラミングの基本となるガイドライン
    HLO 最適化機構の使用
       高レベルな最適化の概要
       最適化機構レポートの作成
    サポート
    制約
ループのクリーンアップ
ループのフロー依存性
ループのリダクション
ループ交換
ループ内でのベクトル化できる複数の型の混在
レポートの生成
ロックルーチン



ワークシェアリング
   OpenMP* 宣言子と節の概要
   自動並列化の概要
   並列処理の概要



一時的な配列の割り当て
一般的なコンパイラー宣言子
   プリフェッチのサポート
   ループのアンロールのサポート
引数のエイリアス化
演算の精度
    向上
    制限
仮数部
可算ループ
    正しい使用
       ループの構造
       ループ出口条件
可算ループの正しい使用
   ループの構造
   ループ出口条件
    可算ループ
解析
    データフロー
    データ依存性
    プログラミング
    マルチファイル IPO の効果
概要
    ハイパフォーマンスを目的としたプログラミング
    異なるアプリケーション・タイプの最適化
    特定のプロセッサーの最適化
    並列処理
環境変数
    OpenMP*
    OpenMP* 拡張ルーチン
    PROF_DUMP_INTERVAL
    ルーチンの変更
    自動並列化
間違ってアライメントされたデータ
関数の展開
関数順序リスト
関数分割
    有効化または無効化
基本的な PGO オプション
擬似コード
    並列処理モデル
共有スカラー
言語サポート
    __declspec
言語サポートのプラグマ
言語サポートの宣言子
向上
    浮動小数点演算の精度
高レベルな最適化機構
   高レベルな最適化の概要
   最適化機構レポートの作成
高度な PGO オプション
   プロファイルに基づく最適化の例
   高度な PGO オプション
差分カバレッジ
差分演算子
最適化
   アプリケーションの最適化について
   アプリケーションの最適化の概要
   最適化オプションのまとめ
    IA-32 用のオプション
    IPO
    Itanium(R) アーキテクチャー用のオプション
    PGO 手法
    SSP
    アプリケーション
    アプリケーションの解析
    アプリケーション固有
    オプション
        制限
        設定
    オペレーティング・システム関連
    コンパイラーの活用
    コンパイル処理
    サポート機能
    システム関連
    チューニング・ツール
    テクニカル・アプリケーション
    ハードウェア関連
    プロシージャー間
    プロファイルに基づく
    ヘルパースレッド
    ライブラリー関連
    レポート
       Itanium(R) ベース・アプリケーションのパイプライン化
       概要: 最適化サポート機能
       最適化機構レポートの作成
    概要
       アプリケーションの最適化について
       コンパイラーの最適化の概要
       プロファイルに基づく最適化の概要
    高水準言語
    手法
    対象とするプロセッサーの指定
    特定のプロセッサー
    浮動小数点
    複数の IPO
    並列化
    方法
最適化の拡張
最適化の手法
最適化の範囲の制限
最適化サポート
最適化プラグマ
最適化機構レポートの生成
作業スレッド
作成
    DPI リスト
    マルチファイル IPO 実行ファイル
       プロジェクトの Makefile を使用したマルチファイル IPO 実行ファイルの作成
       マルチファイル IPO 実行ファイルの作成
使用
    OpenMP*
    アプリケーションの時間測定
    ダイナミック・ライブラリー
    プロファイルに基づく最適化
    高度な PGO
    自動並列化
       自動並列化の概要
       並列処理の概要
使用規則
指定子
    -Qoption コンパイラー・オプション
    /Qoption コンパイラー・オプション
時間測定のサンプル
自動
    IA-32 システム用の最適化
自動パラレライザー
   自動並列化の概要
   並列処理の概要
    制御
       自動並列化: しきい値制御と診断
       並列処理の概要
    有効
自動ベクトライザー
自動並列化
   自動並列化の概要
   並列処理の概要
    しきい値
    ガイドライン
    プログラミング
    概要
    環境変数
    診断
    有効
自動並列化されたループ
自動並列化のしきい値
実行フロー
実行モード
実行環境ルーチン
実際のオブジェクト・ファイル
    コンパイル
手動ディスパッチ
手動変換
受け渡し
    他のツールへのオプション
出口条件
除算から乗算へ変換する最適化処理
条件
    関数のインライン展開
診断
   ベクトル化プログラミングの基本となるガイドライン
   並列処理の概要
    OpenMP*
    自動パラレライザー
       自動並列化: しきい値制御と診断
       並列処理の概要
診断レポート
   OpenMP*、宣言子形式、および診断でのコンパイル
   自動並列化: しきい値制御と診断
制御
    インライン展開
    丸め
    自動並列化の診断
       自動並列化: しきい値制御と診断
       並列処理の概要
生成
    インストルメント済みコード
    プロセッサー固有のコード
    プロファイルによって最適化された実行ファイル
    プロファイル情報
    レポート
精度
    制御

    一覧表
専用コード
   プロセッサー固有の自動最適化 (IA-32 のみ)
   並列処理の概要
組み込み関数
対象
    IA-32 プロセッサー
    Itanium(R) プロセッサー
対象とするプロセッサーの指定
    IA-32
    Itanium(R)
    Itanium(R) 2
対象とする最適化の指定
中間言語スカラー最適化機構
中間言語ファイル (IL)
    バージョン番号による管理
動的カウンター
動的プロファイルのカウンター
動的情報
   PGO の環境変数
   プロファイルに基づく最適化の概要
    スレッド
    ファイル
    ファイルのディレクトリー
    プロファイル・カウンターのリセット
    プロファイル情報のダンプ
動的情報ファイル
同期化
   自動並列化の概要
   並列処理の概要
配列
    ベクトル化におけるアライメント
    ループ・ブロッキング
    ループ本体内の演算
倍精度
    数値
非ユニット・メモリー・アクセス
浮動小数点アプリケーション
    比較
浮動小数点演算
   コンパイラーの最適化の概要
   浮動小数点のパフォーマンスの理解
    IA-32 システム
    Itanium(R) ベース・システム
    オプション
    パフォーマンス
    概要
    精度の制限
    配列の演算

    ループ本体内
並列プログラミング
   アプリケーションの最適化の概要
   並列処理の概要
並列化
   OpenMP* による並列化の概要
   ループの並列化とベクトル化
   自動並列化のプログラミング
   自動並列化の概要
   並列化の概要
    診断
並列化の特定
並列処理
   OpenMP* による並列化の概要
   OpenMP* ランタイム・ライブラリー・ルーチン
   自動並列化の概要
   並列処理の概要
    スレッドモデル
並列領域
変換
    ループ
    順序の変更
変更
    ソフトウェアのパイプライン化
    ベクトル化
    ランタイム・ライブラリ・ルーチンの呼び出し
    ループのアンロール
変数
    PGO 環境
    名前の変更
無効
    インライン展開
    プラグマによる最適化
    関数分割
命令レベルの並列処理
有効
    PGO オプション
    SIMD エンコーディング
    インライン展開
    自動パラレライザー
    並列化

    OpenMP* の使用
    プロファイルに基づく最適化の使用
    プロファイル情報のダンプ
    ベクトル化
    ベクトル化の自動処理
    ループの構造
    自動並列化
    並列プログラムの開発