AMD、微软今天联合发布了“C++ AMP 1.2”,一个开源的 C++ 编译器,主要用于异构架构的并行加速计算编程,而且首次同时支持 Windows、Linux 两大平台(之前仅支持 Windows)。
2011 年中,微软在 AMD 举办的融聚开发者峰会上首次宣布了C++ AMP,主要用来对抗开放性的行业标准 OpenCL,通过利用 Clang、LLVM 加速和简化异构平台的开发工作,支持服务器、PC、移动设备。
C++ AMP 1.2 的最大变化就是支持共享物理内存,而这正是 AMD 最新一代 APU Kaveri 的核心优势。支持该技术后,异构平台的 CPU、GPU 之间就可以畅通无阻,轻松共享数据。
C++ AMP 1.2 支持大量的软硬件平台,并支持三种输出方式:
- Khronos Group OpenCL:行业性质、应用最广泛的加速计算标准,支持 AMD CPU/APU/GPU、Intel CPU、NVIDIA GPU 以及苹果 Mac OS X 等任何兼容平台。
- Khronos Group SPIR:标准可移植中间件表示法,是业界第一个基于 LLVM IR 用于可移植异构并行计算的开放、跨平台中间件表示法标准,支持 AMD CPU/APU/GPU、Intel CPU 和未来兼容平台。
- HSA Foundation HSAIL:AMD 引导 HSA 异构基金会提出的编程规范,支持 AMD APU 和未来兼容平台。
Open C++ AMP 1.2 标准
- http://blogs.msdn.com/b/nativeconcurrency/archive/2013/12/12/c-amp-open-spec-v1-2-published.aspx
C++ AMP 编译器最新源代码
- https://bitbucket.org/multicoreware/cppamp-driver-ng/wiki/Home