インテル® ISPC パフォーマンス・ガイド日本語版公開

同カテゴリーの次の記事

インテル® ISPC ユーザーガイド日本語版公開

本ガイドは、インテル社の許可を得て iSUS (IA Software User Society) が作成した、https://ispc.github.io/perfguide.html (英語) で公開されている 2023年1月18日時点の『Intel® ISPC Performance Guide』の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。

インテル® インプリシット SPMD プログラム・コンパイラー (インテル® ISPC) は、CPU と GPU 上で実行する SPMD (単一プログラム複数データ) プログラムを記述するためのコンパイラーです。

インテル® ISPC が提供する SPMD プログラミング・モデルは、プロセッサーの SIMD ベクトル・ハードウェアを効率良く使用することで、多くのワークロードに対し優れたパフォーマンスをごく自然に発揮します。本ガイドでは、インテル® ISPC を最大限に活用する方法を詳しく説明します。

  • 主要な概念
    • foreach による効率良い反復
    • foreach_tiled による制御フローの一貫性を向上
    • 一貫性のある制御フロー構造を使用する
    • 適切であれば常に uniform を使用する
    • 可能であれば「配列構造体」レイアウトを使用する
  • ヒントとテクニック
    • ギャザーとスキャッターを理解する
    • メモリーリードの結合について理解する
    • 可能な限り 64 ビット・アドレス計算を避ける
    • 8 ビットおよび 16 ビット整数タイプの計算を避ける
    • 効率良くリダクションを実装する
    • 効率良く “foreach_active” を使用する
    • 低レベルのベクトル手法の利用
    • Fast math オプション
    • 積極的な inline 展開
    • システム数学ライブラリーを避ける
    • 使用中のスコープで変数を宣言する
    • ランタイムの動作を理解するため インテル® ISPC プログラムをインストルメントする
    • ターゲットのベクトル幅を選択

関連記事