What do you want in the next version of C++ AMP? – we are listening

Visual Studio 2012 includes the first release of the C++ AMP technology and hopefully by now you have had a chance to learn about and even better try your hands at it. We would like you to know that this first release is just a beginning and our team is actively planning new features and improvements for the next version of C++ AMP.

If you have a feature request or suggestion for the next version of C++ AMP, we would love to hear about it. Accompanying details of what scenarios would be enabled by your suggestion or how the suggested feature would simplify your use of C++ AMP, would be very useful, and are encouraged. Several of you have already been sharing feedback with us on our MSDN forum – it has been duly noted and we are sincerely thankful.

While we cannot guarantee all feature suggestions and requests will be fulfilled, we promise to sincerely listen to and include your feedback and suggestions in our planning process for the next version of C++ AMP. So if there is a feature or piece of functionality in your mind that you wish C++ AMP had, please let us know by responding on this thread on our MSDN forum.


Looking forward to your responses.

C++ AMP Team

Comments (11)

  1. Maxim says:

    I'm looking for the next version of AMP to support executing things on CPU and GPU simulatenesoulsy and with load-balancing. This is pretty important for laprops/ultrabooks/etc, beacuse in this "client" sector, the perf of the CPU and integrated GPU is often comparable. So this is up to 2x in perf you may get almost for free.

  2. Thanks for sharing the feedback Maxim.

    C++ AMP currently supports executing work concurrently on the CPU and GPUs through asynchronous operations, which can be used along with PPL tasks for orchestrating the concurrent execution of your code on the CPU and the GPU. Also, on Windows 8 the WARP accelerator allows executing C++ AMP kernels on the CPU utilizing the multi-core and SSE capabilities of the target CPU.

    C++ AMP also offers the accelerator_view::wait API which can be used to implement a work-stealing kind of approach for distributing work to multiple accelerators and/or the CPU. Please let us know if these existing mechanisms suit your needs  – if not, we will love to hear more about your scenario and suggestions for improvements in this area.

  3. Rahul Garg says:

    Hi. Sorry for the very late response.   I would love to see better support for zero-copy data sharing between CPU and GPU for hardware that support it. Current AMD APUs have some limited ability to do that using OpenCL but not (AFAIK) in AMP.

  4. unbornchikken says:

    Performance improvements for small problem sizes, to be on pair with opencl.

  5. Matt says:

    I would like C++ AMP to work in the cloud.  I have some  places that would truly benefit where I only have a single core running thus cannot leverage Parallel.Foreach logic.

  6. bobyg says:


    I would like understand a bit more into your feature request C++ AMP should work in the cloud. Are you talking about ability to use C++ AMP with Azure? Additionally, about your comment about not able to leverage Parallel.Foreach because of single core (I assume single core CPU), C++ AMP targets both CPU and GPU, so Single core CPU should not be a limitation.

    Please do take the time to comment, either publically or for any reason you cant, send me an email bobyg AT Microsoft Dot com.

  7. Kinda a late to ask but, whats about extending the hardware support to ASICs, FPGAs, intel phi and so on?

  8. Perlin noise and/or improved Perlin noise in 2 and 3 dimensions.

  9. bobyg says:

    @Dan Ritchie,

    Hey dan, can you provide more details about your scenario. Are you asking for a API support to generate Perlin noise? Please do email us more details (bobyg AT Microsoft Dot com) about your scenario when you get a chance.

  10. new says:

    I would like to see support for dynamic memory allocation and deallocation through new and delete operators on the GPU. Also support for function pointers on the GPU

  11. Saleem says:

    I would like C++ AMP to add support for Windows XP, 2000 and 2003 OS too. Many people as still running older system.