2016-01-23 11 views
19

C++の高性能コードで作業しており、CUDAとOpenCLの両方を使用しています。最近はC++ AMPを使用しています。しかし、私はそれが開発されておらず、拡張されておらず、死ぬことを少しは心配しています。C++ AMPの現在の状況

MS C++ AMPのブログでさえ約1年間サイレントになっています。 C++ AMPアルゴリズムライブラリhttp://ampalgorithms.codeplex.com/wikipage/historyを見ると、1年以上何も起こっていないようです。

私が見てきた唯一の開発は、LLVMソートがC++ AMPをサポートしていることです。ウィンドウズだけではありませんが、これはすべてであり、はるかに広く伝えられているものではありません。

ご存じの場合、どのような作業が行われていますか?

+2

デバイスへのエクスポートをサポートするOpenMP 4.0を探すことができます。私はclang MLで、彼らがGPUコード生成に取り組んでいるのを見たが、私は現在の状態を知らない。 OpenMP 3として。0はclang 3.6に入っていましたが、もう1つは後で来ると思います。 –

+1

ヒントをありがとう。私はopenmpがgpuをサポートしていることを知らなかった。これは個人的な経験がある「フレームワーク」ではありませんが、面白く見えます。もう少し見ると、OpenMPでCUDA、OpenCL、AMPを使いたいのはなぜだろうかと疑問に思っています。一般的な方法で多くを提供しているようですが、おそらく私はまだ問題を見るだけで十分ではありません。 – JoeTaicoon

+0

OpenMPはコードを "生成"します。それは素晴らしいですが、それは期待どおり効率的ではないかもしれません。このような場合は、CUDAコードを作成してより効率的にすることができます。コンパイラがループをベクトル化するのに成功しないため、sse/avxコードを書くことができます。しかし、私は長期的には、これらの機能に頼ることができれば本当に良いことに同意します!! –

答えて

11

MS C++ AMPのブログでさえ約1年間サイレントになっているということです。 C++ AMPアルゴリズムライブラリhttp://ampalgorithms.codeplex.com/wikipage/historyを見ると、1年以上何も起こっていないようです。

以前はC++ AMPアルゴリズムライブラリで作業していましたが、マイクロソフトがまとめた最初のリリースの後、私は多くの追加機能を構築し、それを新しいバージョンのVSに移植しました。 C++ AMPの周りに勢いを失うように見えました。私はこのプロジェクトのさらなる作業をするつもりはない。

あなたがこれを行います。おそらくMicrosoftの誰かが事を明確にすることができますか?

+5

お返事いただきありがとうございます。あなたは "The C++ AMP"の著者の一人であり、現在はそれに取り組んでいませんが、これはC++アンプが多かれ少なかれ死んでいると仮定した場合、かなり明確なケースになります。本当に悪い。私の考えでは、それは非常に期待していたイニシアチブでしたが、CUDAとOpenCLは脇に立っていないと思います。 私は大規模な並列処理のための最良のツールとしてあなたが今見ているのだろうか? – JoeTaicoon

+1

私はそれが本当に良いライブラリだと思っているので、msはそれについて黙っています(困難なタイリングオプションを除いて)。 – gast128

1

私は、AMDはまだC++ AMP .. http://developer.amd.com/community/blog/2015/09/15/programming-models-for-heterogeneous-systems/ http://developer.amd.com/community/blog/2015/01/19/bolt-1-3-whats-new/ を使用しているとIntelは、あまりにもそれを言及しているいくつかのフォーラムの参照があることを発見しました。

私が見ている主なことは、プログラマが最終的にGPUを普通の仕事に使うことができるという考えでやっていることです。特にHBMがAPUに来ると、比較的安価なシステムで多くのことができるようになりました。 グラフィックカードやメインメモリへのデータのコピーはしませんが、GPUレイテンシなしで「リアルタイム」にアクセスできるBIG HBMの「キャッシュ」に保存してください。

Microsoftは本当に素晴らしい技術を構築します。この技術は、今後数年間、つまりハードウェアが最終的に「ユーザーフレンドリー」になるときにのみ重要になります。 しかし、他の人と同じように進歩しなければ、そのことは時代遅れになる可能性があります。 C + + AMPでは何かがうまくいかないのですが、最近の変化のスピードが非常に速いため、プログラマーはそれを使い始めるリスクがありません。もし何か進歩が見られなければ...少なくとも1年に2つのブログ、マイクロソフトがまだそれを信じていることを確認できるように、何かをテストしました。

0

私はまだアンプを使用しています。今はゲーム用のgpuパストレーサ(うまくいけば)を作っています。

現時点では、多くのドキュメントや悲しいことに多くの新しいアップデートはありません。私が見たいと思っているものは、もっと更新されて使用されていますが、死んでしまいます。

0

FWIW金融業界でもC++ AMPを使用しています。非常に成功し、比較的容易にコード化できます。 CUDAはおそらくより安全な選択ですが、誰かがAMPの学習を検討しているなら、最初に基本的なSTLをブラシアップし、次にアレイビューを読むことをお勧めします。

+0

これは質問に対する答えを提供しません。十分な[評判](https://stackoverflow.com/help/whats-reputation)があれば、[投稿にコメントする]ことができます(https://stackoverflow.com/help/privileges/comment)。代わりに、[質問者からの明確化を必要としない回答を提供する](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- i-do-代わりに)。 - [レビューから](/レビュー/低品質の投稿/ 17044014) –

関連する問題