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