AMD in collaboration with Microsoft today released the C++ AMP version 1.2 -- an open source C++ compiler which implements version 1.2 of the open specification for C++ AMP, available on both Linux and Windows for the first time.
The release represents another step forward toward AMD's goal of supporting cross-platform solutions and multiple programming languages. The tool, which leverages Clang and LLVM, accelerates productivity for developers wishing to harness the full power of modern heterogeneous platforms spanning servers, PCs and handheld devices.
C++ AMP version 1.2 enables C++ developers to accelerate applications across a broad set of hardware and software configurations by supporting three outputs:
- Khronos Group OpenCL, supporting AMD CPU/APU/GPU, Intel CPU/APU, NVIDIA GPU, Apple Mac OS X and other OpenCL compliant platforms;
- Khronos Group SPIR, supporting AMD CPU/APU/GPU, Intel CPU/APU and future SPIR compliant platforms; and
- HSA Foundation HSAIL, supporting AMD APU and future HSA compliant platforms.
A key performance feature of version 1.2 of the open source C++ AMP specification is support for shared physical memory, which simplifies sharing of data between the CPU and GPU on heterogeneous platforms. Heterogeneous platforms built on the new spec allow programmers to benefit from minimized overhead of expensive data copies and pointer updates when accelerating applications.