Microsoft Accelerator 和 OpenCL 支持 CPU 和 GPU,并且独立于供应商(即在 ATI 和 nVidia 卡上运行)。
在 OpenCL 的情况下,您必须将 OpenCL 单独安装到用户机器(包含在 nVidia(支持 nvidia 的 gpus)和 ATI(支持 ati gpus 和任何 cpus)驱动程序中,可下载到 Intel(支持 cpus)。但是,您可以只保留AMD 的 OpenCL.dll 与您捆绑的软件用作 CPU 回退。OpenCL 更发达(功能更多,错误更少):它出现得更早,是跨平台的并且基于现有技术(CUDA、Brook+)。OpenCL 允许您精细控制您实际执行的操作,因此速度更快,但难度更大。
据我所知,Microsoft Accelerator 可以在任何支持 DirectX 的 GPU(== 任何现代 GPU)和任何 64 位 CPU 上运行。它更顺畅地集成到现有代码中(没有额外的文件和大量的库调用),但这对性能不利。MS Accelerator 可以让你更快地实现你的功能(看起来很简单),所以它可能是一个好的开始。但是如果它没有表现出很好的性能,你还是应该试试 OpenCL,它可以做得更好。
所以,我建议你学习 OpenCL,因为:1)OpenCL 更接近 GPU 硬件架构,所以 a)它可以让你获得更好的性能,b)你可以编写更复杂的代码,c)你会学会这一切作品; 2)互联网上有更多的信息/教程/黑客;3)它是跨平台的(在你的情况下可能不是很好的功能,但仍然是);4) OpenCL与 CUDA非常相似,因此您将同时学习两种与 GPU 相关的技术。