2016-01-23 155 views
19

我正在研究C++中的高性能代码,并且一直在使用CUDA和OpenCL,以及最近的C++ AMP,我非常喜欢它。然而,我有点担心它不会被开发和扩展,并会消亡。什么是C++的当前状态AMP

什么导致我这个想法是,即使是MS C++ AMP博客已经沉寂了大约一年。看看C++ AMP算法库http://ampalgorithms.codeplex.com/wikipage/history似乎一年来都没有发生过。

唯一的发展中,我所看到的是,现在LLVM那种支持C++ AMP,所以它不仅是窗口,但仅此而已,而不是已被告知无远弗届。

你知道什么样的工作正在进行,如果有的话?

+2

您可能希望查找支持导出到设备的OpenMP 4.0。我在clang ML上看到他们正在开发GPU代码,但我不知道当前状态。作为OpenMP 3。0进来叮当3.6,我猜对方会迟到。 –

+1

感谢您的提示。我不知道openmp现在支持GPU。这不是我有任何亲身经历的“框架”,但它确实看起来很有趣。再看一遍之后,我确实想知道为什么你想要通过OpenMP使用CUDA,OpenCL或AMP?似乎以一般方式提供了许多相同的内容,但也许我只是不知足以看清问题。 – JoeTaicoon

+0

OpenMP将为您“生成”代码。这很棒,但它可能没有预期的那么高效。在这种情况下,您可能希望编写CUDA代码以提高效率。正如你可以写sse/avx代码一样,因为编译器不能成功地向量化一个循环。但我同意从长远来看,如果我们能够依靠这些功能将会更好! –

回答

11

让我想到这个想法的是,甚至连MS C++ AMP博客都沉默了大约一年。看看C++ AMP算法库http://ampalgorithms.codeplex.com/wikipage/history似乎一年来都没有发生过。

我用于在C++ AMP算法库工作。在最初的发布之后,微软将它放在一起,我构建了许多附加功能并将其移植到VS的更新版本中。似乎围绕C++ AMP出现了动力损失。我没有计划对这个项目做进一步的工作。

使这个你会。也许有人从微软可以澄清事情?

+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/ 还有一些论坛引用,英特尔是提它。

我看最主要的是,我们的程序员终于开始,我们可以使用GPU进行普通任务也想法玩。特别是现在HBM正在进入APU,你可以在相对便宜的系统上做很多事情。 因此,不要将数据复制到图形卡或主存储器,而是将其保存在可实时访问的BIG HBM“高速缓存”中,即无需GPU等待时间。

所以微软建立一个真正非常好的技术,只能在未来几年内即当硬件终于“用户友好”成为相关。但是,如果他们不会像其他人一样前进,那么这件事就会过时。并不是说C++ AMP中不会有什么功能,但是由于最近的变化速度非常大,程序员不会冒险开始使用它,如果他们没有看到一些进步......至少每年有一两个博客,他们在那里测试了一些东西,以便你看到微软仍然相信它。

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-代替)。 - [来自评论](/ review/low-quality-posts/17044014) –