针对异构硬件的C++ AMP和PPL

[原文发表地址] Targeting Heterogeneity with C++ AMP and PPL

[原文发表时间] 2011-06-15 16:30

先前,我发表了博文,从并发并行方面探讨了软件发展的主要趋势。确实,如今的多核系统随处可见。你可以用许多主流编程语言来把多核系统作为实现目标,而且我们还通过Visual Studio 2010提供并行开发和调试方面的市场领先工具。你可以看到我发布的关于VS2010中C++的并发增强方面的博文,而在这篇博文中,我将介绍我们并行调试工具的概况。

在过去的几年中,我们见证了异构硬件的一些趋势。比方说,处于运算方便考虑,开发者们利用GPU的优势,来完成数据并行算法。在适当的程序模型中这样的运用非常成功。微软希望把利用像GPU这样的异构硬件来编程演变为一种主流。就像我们曾对多核进行过变革,现在我们也要将这种能力赋予下一代Visual Studio。

我非常兴奋地宣布,我们要向大家介绍一项新技术,它有助于C++开发者使用GPU进行并行编程。今天,在AMD融合开发者峰会上,我们公布了C++ Accelerated Massive Parallelism (C++ AMP)。此外,我还要高兴地宣布我们决定将C++ AMP的规范设为开放的规范。

建立在Windows DirectX平台之上,C++ AMP的运行可以允许你把所有主要的硬件供应商的硬件作为实现目标。我们希望这也将会成为下一代Visual C++编译器中的一部分,并能融入下次公布的Visual Studio体验中去。

另外,在并行计算方面我们还有很多其他工作要做。我们还发布了下一代Parallel Patterns Library (PPL)和C++ Concurrency Runtime的新增强版。你能找到易于使用的C++模板和runtime支持,无论是带有PPL、Agent还是C++ Concurrency Runtime的硬件,你都能轻松地实行运算。有了C++ AMP和PPL,我们旨在让下一代Visual Studio成为一个高效的编程环境,支持异构硬件。

我们会尽快整理AMD 融合会议中Herb Sutter的主题演讲和Daniel Moth的自由讨论记录。欢迎登陆Visual C++团队博客或者Channel 9观看视频。

万福!