C++ AMP Open Spec V1.2 Published

C++ AMP Open Specification V1.2  is available now under the Microsoft Community Promise – which essentially allows any C++ compiler implementer to add C++ AMP to their compiler.

As before, Microsoft supports and encourages anyone to implement the C++ AMP open specification on any platform, and we are actively working with interested parties already. AMD’s implementation of C++ AMP targeting SPIR and HSAIL is a prime example of this. If you are a compiler, hardware, or operating system vendor who is interested in C++ AMP support for your platform, read the specification and feel free to get in touch.

The major highlights in C++ AMP Open Specification V1.2 include:

  • Addition of new sections on:

    • sampler (10.3)

    • texture_view<T, N> (10.4)

    • texture_view<const T, N> (10.5)

    • global texture copy functions (10.6)

  • Update to section array<T, N> (5.1) to include shared memory support.

  • writeonly_texture_view<T, N> (10.2) has been deprecated with texture_view<T, N> taking its place.

To assist you in implementing the C++ AMP open specification, we are making available certain header files from our Visual Studio 2013 implementation under an Apache 2.0 license – you can download the headers in the attached ZIP file. We also have available C++ AMP conformance Test Suite 1.2.0 to assist you in reducing the testing cost.

Even if you are not a vendor, we believe you will surely have a fun time reading the C++ AMP Open Specification V1.2. You can find previous version(s) of C++ AMP Open Specification here.

C++ AMP Headers VS2013.zip

Comments (7)

  1. Joe says:

    Please add support for OpenMp 3.x to Visual C++

  2. Daniel says:

    Please don't give up on C++ AMP. Microsoft has a history of abandoning these types of unique opportunities that benefits them and their customers.

    I'm mainly a CUDA programmer, and I have experimented with C++ AMP as well. I've been using OpenCL for a project recently, it's really a pain in the neck, I can't understand how these big names in the industry came together and proposed this mess as a "platform-independent" alternative to CUDA. As far as competing with CUDA, it's a complete failure in my view, it will never become mainstream, I can't see how anyone in their right mind would expect a 21st century programmer crying for garbage-collection and higher levels of abstraction to use OpenCL or anything like it as their main tool. It's verbose, counter-intuitive, counter-productive, you are forced to do repetitive tasks that could easily be automated without any sort of performance cost, and for all of that headache you don't get any performance advantage over CUDA or C++ AMP.

    Please, please, please, continue your work on C++ AMP. This blog seems too quiet compared to last year, you have something unique don't let it go to waste. I know researchers at some SoCal universities are working on something very very similar to C++ AMP, projects that are funded by industry giants. Don't make the same mistake as abandoning Windows Mobile 6.5… I hope Microsoft's new CEO with his CS background has more appreciation for technology than management people usually have.

  3. @Daniel, Thanks daniel for your interest in C++ AMP. Apologizes if you got an impression that we are giving up on C++ AMP, because we are not. C++ AMP is a core piece of our technology and each release of Visual Studio will introduce new features. Aside from that we are committed to release up to date open specification. In the last couple of months, we have made significant progress including collaborating with AMD to get C++ AMP support built into Clang and proposed C++ AMP concepts to ISO committee (so it becomes part of C++ standards). Additionally, we are actively working on next version of C++ AMP. So be assured that we are committed!

    Please do share your experience using C++ AMP with us.

  4. Hassan says:

    is this version fully implemented in Visual Studio 2013?

  5. @Hassan,

    Yes, this spec is fully implemented in VS 2013.

  6. Mason says:

    a friendly advice… microsoft should consider publishing a FREE version of the C++ AMP book, and UPDATE it at least with every visual studio's C++ AMP update (much like nvidia's CUDA by example free pdf book).

    I'm pretty sure microsoft can afford it :p

  7. ditml says:

    AMD did it !


    Stack on OpenCL and HSA would bring great interoperability among Linux, MacOS, Windows.

    We hope ARM / Android version as well.