C++ AMP (C++ Accelerated Massive Parallelism)

C++ AMP (C++ Accelerated Massive Parallelism) は、独立したグラフィックス カードの GPU (graphics processing unit) などの一般的なデータ並列ハードウェアを活用して、C++ コードの実行を高速化します。 C++ AMP のプログラミング モデルには、多次元配列、インデックス作成、メモリ転送、およびタイルのサポートが含まれています。 また、数学関数ライブラリも含まれています。 C++ AMP の言語拡張機能を使用して、データを CPU から GPU へ、また GPU から CPU へどのように移動するかを制御できます。

Note

C++ AMP ヘッダーは、Visual Studio 2022 バージョン 17.0 以降では非推奨です。 AMP ヘッダーを含めると、ビルド エラーが発生します。 警告をサイレント状態にするには、AMP ヘッダーを含める前に _SILENCE_AMP_DEPRECATION_WARNINGS を定義します。

Title 説明
C++ AMP の概要 C++ AMP および数値演算ライブラリの主な機能について説明します。
ラムダ、関数オブジェクト、および制限関数の使用 parallel_for_each メソッドの呼び出しで、ラムダ式、関数オブジェクト、および制限関数を使用する方法について説明します。
タイルの使用 タイルを使用して C++ AMP コードを高速化する方法について説明します。
アクセラレータおよび accelerator_view オブジェクトの使用 アクセラレータを使用して GPU でのコードの実行をカスタマイズする方法について説明します。
UWP アプリでの C++ AMP の使用 Windows ランタイムの種類を使用するユニバーサル Windows プラットフォーム (UWP) アプリケーションで C++ AMP を使用する方法について説明します。
グラフィックス (C++ AMP) C++ AMP のグラフィックス ライブラリを使用する方法について説明します。
チュートリアル: 行列乗算 C++ AMP コードとタイルを使用した行列乗算を示します。
チュートリアル: C++ AMP アプリケーションのデバッグ 並列リダクションを使用して整数の大きな配列を合計するアプリケーションを作成してデバッグする方法について説明します。

リファレンス

リファレンス (C++ AMP)
tile_static キーワード
restrict (C++ AMP)

その他の参照情報

Parallel Programming in Native Code blog (ネイティブ コードでの並行プログラミング ブログ)
C++ AMP sample projects for download (ダウンロード用の C++ AMP サンプル プロジェクト)
Analyzing C++ AMP Code with the Concurrency Visualizer (コンカレンシー ビジュアライザーによる C++ AMP コードの分析)