C++ AMP开放规范发布!

C++ AMP全 名C++ Accelerated Massive Parallelism(加速大规模并行计算),是微软提出的基于C++的异构化并行计算平台。它将随Visual Studio 11一起发布,目前为预览版本。所谓异构并行计算,主要的需求就来自于GPU通用计算的崛起。

GPU非常适合大规模数据并行算法,即同一程序应多多组不同的数据进行并行运算。然而GPU的架构与主流CPU不同,而且常常更新换代,没法采用传 统编程语言来编程。现有的GPU多数编程方案,如DirectCompute和OpenCL,都要使用不同的语言或编译器来编写运行于GPU上的 kernel部分和运行在CPU上的host部分。

C++AMP统一了这两部分,可以用同一个编译器,同一种语法来编写kernel代码;无需任何编译器选项或设置。C++ AMP的API简单到了极致,比OpenCL的方便程度更上了一个层次。

关于C++ AMP的实战请看这里

文章出自:osnews

译文出自:开源中国社区

 

向OpenCL挑战 微软推出异构语言C++ AMP

 【IT168 资讯】OpenCL作为一种开放的并行加速计算标准,已经得到了AMD、Intel、NVIDIA等芯片业巨头和大量行业厂商的支持,但唯独缺少了微软。 就在AMD Fusion开发者峰会上,微软终于拿出了自己的反击武器:“C++ AMP”,其中AMP三个字母是“accelerated massive parallelism”的缩写,也就是加速大规模并行的意思。

C++ AMP


  C++ AMP是微软Visual Studio和C++编程语言的新扩展,用于帮助开发人员充分适应现在和未来的高度并行和异构计算环境。它使用C++语言的句法,将随同下个版本的Visual Studio一同发布,不过可能会在今年晚些时候放出测试版本。

  令人瞩目的是,微软宣布C++ AMP标准将是一种开放的规范,允许其它编译器集成和支持。这无疑是对OpenCL的最直接回应。

  为了展示了C++ AMP的威力,微软现场运行了一个刚体模拟程序。同一个可执行文件能够在多台计算机和设备上运行,既支持3GFlops的Llano APU x86处理器部分,也支持650GFlops的Llano APU协同加速,还支持830GFlops的Radeon HD 5800 CrossFire,另外在一台使用AMD E系列APU的平板机上还获得了16GFlops的计算能力,能够模拟16000多个粒子。

  OpenCL虽然是免费开放的,但也是目前异构计算的唯一选择。谁也不敢保证C++ AMP能够挑落OpenCL,但至少给开发人员提供了新的选择,而且背后还有微软这样的大佬支持着,只是DirectCompute该何去何从呢?

刚体模拟程序

你可能感兴趣的:(C++)