BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

在多核GPU和CPU上使用Accelerator V2执行并行编程

| 作者 Abel Avram 关注 7 他的粉丝 ,译者 王波 关注 0 他的粉丝 发布于 2010年1月8日. 估计阅读时间: 2 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

这是一项微软研究院的项目。回到2006年的时候,Accelerator还只是一个简单的托管函数库,并且在2007年发布了第一个版本。刚开始的时候,它是用C#编写并定位于GPU。于此同时,它又被C++封装为托管API以方便其它.NET语言进行访问。

Accelerator V2提供API以便在多核GPU和多核处理器上执行并行指令。同时,面向元件可编程逻辑闸阵列(FPGA)的版本也正在开发中。

微软高级研究员Satnam Singh已经发布了一个F#程序,用以说明Accelerator在8核64位Windows7的机器上(另配了一个低端显卡)如何执行代码。该研究员示范如何用F#创建二维卷积处理器以及“该处理器是如何使用F#的Accelerator进行表述的”。这里的卷积是指:

映射一系列数组到数组各个元素的函数。

该研究员还解释代码如何执行卷积操作。最后,他还解释了Accelerator对他的帮助:

Accelerator系统鼓励你以整个数组操作的方式来表述数据并行处理算法,对不同的后台程序(或“目标”)的实现更有效。例如,只使用整个数组操作的准则,可高效解决正在处理的实验FPGA对象的寻址生成器回路问题。

Accelerator非常适合编写模板风格的数据并行处理程序。它的表达式能适应Accelerator计算,使得它非常适合F#那样的函数式语言。实际上,Accelerator系统已证明,它自己类似于在F#、C#和C++(及其他.NET语言)中的一种特定领域编程语言。

运行Accelerator V2需要安装DirectX 11。

相关资源下载:Accelerator v2预览版更新2009-12-8Accelerator v2 F# 1维卷积实例

查看英文原文:Executing Parallel Programs on Multi-core GPUs and CPUs with Accelerator V2

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT