C++_AMP

 「C ++ AMP」  
C ++ Accelerated Massive Parallelism(C ++ AMP)は、C ++ プログラミング言語とそのランタイムライブラリにまたがる要素を含むネイティブプログラミングモデルです。グラフィックカード(GPU)などのデータ並列ハードウェアでコンパイルおよび実行するプログラムを簡単に作成する方法を提供します。
C ++ AMP
原作者
マイクロソフト
タイプ
図書館
ライセンス
決定的ではない
ウェブサイト
docs .microsoft .com / en-us / cpp / parallel / amp / cpp-amp-cpp-accelerated-massive-parallelism 
C ++ AMPは、ライブラリに実装のDirectX 11およびオープンな仕様からのMicrosoft C ++で直接データの並列処理を実装するため。これは、開発者がGPUのプログラミングを簡単にすることを目的としており、専門知識がない(この場合、システムは最善を尽くします)から、より細かく制御可能でありながらポータブルであるまでの幅広い専門知識をサポートします。Microsoftの実装では、GPUで実行できないコードは、代わりに1つ以上のCPUにフォールバックし、SSE命令を使用します。 Microsoftの実装は、デバッガーとプロファイラーのサポートを含め、Visual Studio2012に含まれています。
Microsoftからの最初のC ++ AMPリリースには、少なくともWindows7またはWindowsServer 2008R2が必要です。 C ++ AMPはオープンな仕様であるため、Microsoft以外の実装がやがて登場すると予想されます。この初期の例の1つは、Clang / LLVMおよびOpenCLでのIntelのC ++ AMPの実験的実装であるShevlinParkです。
2013年11月12日、HSA Foundationは、現在のC ++ AMP仕様をサポートするOpenCL、Standard Portable Intermediate Representation(SPIR)、およびHSA Intermediate Language(HSAIL)に出力するC ++ AMPコンパイラを発表しました。ソースはhttps://github.com/RadeonOpenCompute/hccで入手できます。C ++ AMPのサポートは廃止されたと見なされ、現在のROCm1.9シリーズが最後にサポートされます。
内容
1 特徴
2 も参照してください
3 参考文献
4 参考文献
5 外部リンク
特徴
Microsoftrestrict(amp)は、C ++ AMPアクセラレータで関数を実行できることを宣言するために、任意の関数(ラムダを含む)に適用できる機能を追加しました。コンパイラーは自動的に計算カーネルを生成し、管理の定型文を保存し、別の言語を使用する必要が制限キーワードは、関数がほとんどのGPUでサポートされている言語機能のみを使用することを静的にチェックするようコンパイラーに指示します。たとえば、void myFunc() restrict(amp) {…}MicrosoftまたはオープンC ++ AMP仕様の他の実装者は、他の目的のために他の制限指定子を追加できます。 C ++ AMPとは無関係です。
新しい言語機能に加えて、C ++ AMPの残りの部分は、同時実行名前空間のヘッダーファイルから利用できます。主要なC ++ AMPクラスはarray、array_view(アクセラレータ上のデータのコンテナ)、(データのラッパー)、index(N次元のポイント)、extent(N次元のサイズ)、accelerator(メモリを割り当てるGPUなどの計算リソースです。および実行)、およびaccelerator_view(アクセラレータのビュー)。parallel_for_eachC ++ AMP並列ループを作成するために使用するグローバル関数も
も参照してください OpenCL CUDA GPGPU OpenACC
Khronos GroupのSYCLは、C ++ AMPのいくつかの概念を拡張しています
バルカン RaftLib 参考文献
^ C ++ AMP1ページの要約リンク切れ ^ Shevlin Park:Clang / LLVMとOpenCLを使用したC ++ AMPの実装 ^ 「CLANGとLLVMを介してWindowsを超えてC ++ AMPをもたらす」。 ^ https://github.com/RadeonOpenCompute/hcc/wiki
参考文献
ケイトグレゴリー、アデミラー。C ++アンプ:アクセラ大規模な並列処理でのMicrosoft Visual C ++ -マイクロソフト、2012から326ページ-
ISBN 9780735664739 
外部リンク
C ++ AMP:言語とプログラミングモデル—バージョン1.0:2012年8月
ネイティブコードでの並列プログラミング-C ++ AMPチームブログ
http://hsafoundation.com/bringing-camp-beyond-windows-via-clang-llvm/CLANGおよびLLVMコンパイラでのC ++ AMPサポート
https://github.com/RadeonOpenCompute/hccCLANGおよびLLVMコンパイラでのC ++ AMPのサポート

投稿日:
カテゴリー: C