在多核GPU上实现AcceleratorV2并行编程


这是一项微软研究院的项目。回到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


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3