低代码到底是不是行业毒瘤?一线大厂怎么做的?戳此了解>>> 了解详情
写点什么

微软发布 C++ AMP 规范,旨在降低数据并行门槛

2012 年 2 月 22 日

微软在他们的 GoingNative 2012 大会上为其 C++ AMP(C++ 加速大规模并行处理)发布了开放规范(PDF)。C++ AMP 被描述成“一种能够在数据并行硬件上加速 C++ 代码的编程模型”。而这类硬件中最常见的例子要属独立显卡上能够使用多核或 SSE CPU 作为替代选择的 GPU 了。

微软声明的 C++ AMP 编程模型如下:

……给你上面几个方面的显式控制,包括:在 CPU 和加速器之间进行数据拷贝,以及在 GPU 上执行计算。你可以显式地管理 CPU 和加速器间的所有通信。这类通信既可以是同步的也可以是异步的。加速器中的数据并行计算,可以通过使用多维数组、高层次数组操作函数、多维索引操作以及其他高层次抽象进行表示。所有这些表示都是基于 C++ 编程语言的一个大型子集。该编程模型包含了多个层次,以便你可以在易用性和最大性能之间进行权衡。

微软对此标准的实现适用于任何运行 DirectX 11 的系统,而如果系统没有 DirectX 11,那么会有一段非 C++ 的代码被执行。

微软并不打算把 C++ AMP 只面向 Windows,因为它“支持并鼓励任何人任何平台上实现 C++ AMP 开放规范……”(摘自原文)。迄今为止,该项目折射出的贡献者来自于Nvidia 和AMD。为了鼓励外部实现,微软在其“微软社区承诺协议”下发布了整个C++ AMP 规范。

虽然微软的实现支持C++ AMP 和Direct 3D 之间的互操作性,但是正式规范中并没有要求这点。另外,目前C++ AMP 还不支持与OpenGL 的互操作,开发人员Daniel Month 最近在论坛一个贴子中指出,这项支持并不会即刻到来,因为“(C++ AMP 团队)中没有人有OpenGL 的经验”。

对于想要尝试新的C++ AMP 编程模型的开发人员,可以先下载 Visual Studio 11 开发者预览版,然后查看这篇 MSDN 博客文章中给出的样例代码。(代码中的例子还包含了.NET 开发人员如何从 C#中使用 C++ AMP。)

查看英文原文: http://www.infoq.com/news/2012/02/CPP_AMP_Published

2012 年 2 月 22 日 07:581362
用户头像

发布了 125 篇内容, 共 29.2 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

到手的股权,又没了 | 法庭上的CTO(2)

赵新龙

股权 CTO 28天写作

java集合【10】——— LinkedList源码解析

秦怀杂货店

Java 集合 linkedlist

5 千字长文+ 30 张图解 | 陪你手撕 STL 空间配置器源码

herongwei

c++ 源码 内存 后端开发 stl

架构师训练营第11周总结

吴传禹

极客大学架构师训练营

JDBC【4】-- jdbc预编译与拼接sql对比

秦怀杂货店

sql JDBC

架构师训练营 -week11-总结

大刘

极客大学架构师训练营

架构师训练营第 1 期第11周作业

业哥

【Java基础】-- instanceof 用法详解

秦怀杂货店

Java

架构师训练营第七周作业

丁乐洪

架构师训练营第 1 期第 11 周学习总结

好吃不贵

极客大学架构师训练营

【java基础】-- java接口和抽象类的异同分析

秦怀杂货店

Java 接口

Mybatis【5】-- Mybatis多种增删改查那些你会了么?

秦怀杂货店

Java mybatis JDBC

架构师训练营 - 第十一周作业

一个节点

极客大学架构师训练营

使用PicGo存储markdown图片(阿里云或者github)

秦怀杂货店

markdown 图床

第七周总结

孤星

JVM,JRE,JDK之间的区别和联系

入门小站

JVM

IT做得好的时候,是什么状态?

boshi

职业

11.8作业

张荣召

从华为看VUCA时代如何让组织不断乘风破浪?

Alan

华为 战略思考 组织发展 组织活力

系统性能的主要技术指标以及变化

皮蛋

月薪8k和月薪38K的程序员差距在哪里?学习Linux C/C++ 这些你就知道了

ShenDu_Linux

c++ Linux 程序员

性能压测的时候,随着并发压力的增加,系统响应时间和吞吐量如何变化,为什么?

落朽

架构师训练营第11周课后作业

吴传禹

极客大学架构师训练营

架构词典:缓存

lidaobing

缓存 架构

程序员入门之路

思想者杰克

程序人生

架构师训练营第 1 期第 11 周作业

好吃不贵

极客大学架构师训练营

Sharding-Sphere Proxy 分库分表 简单示例

Java MySQL 分库分表 ShardingSphere-Proxy

秒懂DHCP是什么

Mybatis【6】-- Mybatis插入数据后自增id怎么获取?

秦怀杂货店

mybatis

架构师训练营 - 第十一周总结

一个节点

极客大学架构师训练营

《Linux就该这么学》PDF版免费下载

计算机与AI

Linux

2021 ThoughtWorks 技术雷达峰会

2021 ThoughtWorks 技术雷达峰会

微软发布C++ AMP规范,旨在降低数据并行门槛-InfoQ