C++ AMP 的现状如何

What is the current status of C++ AMP

我正在使用 C++ 编写高性能代码,一直在使用 CUDA 和 OpenCL,最近还使用我非常喜欢的 C++AMP。但是我有点担心它没有被开发和扩展并且会消亡。

让我产生这种想法的是,即使是 MS C++AMP 博客也已经沉默了大约一年。查看 C++ AMP 算法库 http://ampalgorithms.codeplex.com/wikipage/history 似乎一年多来什么都没发生。

我看到的唯一发展是现在 LLVM 有点支持 C++AMP,所以它不仅仅是 windows,仅此而已,而不是广为流传的东西。

您知道正在进行哪些工作(如果有的话)?

What leads me to this thought is that even the MS C++AMP blogs have been silent for about a year. Looking at the C++ AMP algorithms library http://ampalgorithms.codeplex.com/wikipage/history it seems nothing at all has happened for over a year.

我曾经在 C++AMP 算法库上工作。在 Microsoft 组合在一起的初始版本之后,我构建了许多附加功能并将其移植到较新版本的 VS。似乎围绕 C++AMP 失去了动力。我没有计划对该项目做进一步的工作。

随心所欲。也许微软的人可以澄清一下?

我发现 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/ 并且在一些论坛参考资料中英特尔也提到了它。

我看到的主要事情是,我们这些程序员终于开始尝试我们也可以将 GPU 用于普通任务的想法。尤其是现在 HBM 正在进入 APU,你可以在一个相对便宜的系统上做很多事情。 所以没有将数据复制到图形卡或主内存,而是将其保存在可以访问的 BIG HBM "cache" 中 "real-time" 即没有 GPU 延迟。

因此,Microsoft 构建了一项非常非常好的技术,只有在未来几年才会变得相关,即当硬件最终 "user friendly" 时。 但是,如果他们不像其他人那样进步,那么这个东西就会变得过时。并不是说某些东西在 C++ AMP 中不起作用,而是因为最近变化的速度如此之快,以至于程序员不会冒险开始使用它,如果他们看不到一些进步……至少每年一两个博客,他们用它测试了一些东西,所以你看到微软仍然相信它。

我还在用扩音器。现在我正在制作一个 gpu 路径跟踪器(希望如此)供游戏使用。

看来 amp 目前没有太多文档,遗憾的是没有很多新更新。它绝对是我希望看到更新和使用更多的东西,但它接缝死了。

FWIW 我们也在金融领域使用 C++AMP。非常成功,相对容易编码。 CUDA 可能是一个更安全的选择,但如果有人正在考虑学习 AMP,我建议先复习一下基本的 STL,然后再阅读数组视图。