【发布时间】:2012-05-05 09:54:57
【问题描述】:
我了解到微软正在与 Nvidia 密切合作以提高 AMP 性能。
但我的问题是:AMP 是 Microsoft 的 CUDA 替代品吗?或者当 NVIDIA CUDA 显卡可用时,AMP 是否使用 CUDA 驱动程序? AMP 是 openCL 的替代品吗?
我还是很困惑..
【问题讨论】:
-
C++-AMP 编译器是直接生成 GPU 机器代码,还是生成 C 代码并将其传递给 CUDA 或 OpenCL 编译器是否重要?无论哪种方式,您都编写 C++-AMP 而不是 CUDA 或 OpenCL。
-
此外,没有“CUDA 视频卡”之类的东西。 CUDA 不是在硬件中实现的,它被转换(编译)为 GPU 的本机指令集(即 Fermi)。
-
C++ AMP specification 没有提及 CUDA 或 OpenCL。
-
ArrayFire 是通过基于数组的 API 使用 GPU 的更好方法。比 AMP 更快、更通用、功能更多。
-
“我读到微软正在与 Nvidia 密切合作以提高 AMP 性能” - 他们应该更独立于平台而不是 “MSy” i> AMP 规范以进一步推动独立于平台的支持(但我猜,并且可以理解,这两者都没有兴趣),因为 C++ AMP 的基本概念i> 真是太棒了,只是它与 DX 的联系以及缺乏图像功能使其作为一般的 heal-all-solution 相当无用。