Hello CUDA programmers!
If you’re familiar with CUDA, then this blog post and the attached guide may be for you. This learning guide will introduce you to C++ AMP by mapping familiar CUDA terms and concepts to similar terms and concepts in C++ AMP. It’s divided into two parts:
Please keep in mind that this guide is an introduction to C++ AMP only. It covers only the most common features of both CUDA and C++ AMP, omitting many other important topics. It provides no guidance on how to use C++ AMP effectively or how to port your overall solution, which may be using additional libraries. In addition, this guide is not intended to be used to compare the merits of C++ AMP with those of CUDA. By presenting this guide, I am not suggesting you drop what you are using and adopt C++ AMP. Rather, the purpose of this guide is to help you more quickly ramp up on C++ AMP should you be interested in learning about this novel approach to accelerating general computations on a GPU using your existing knowledge. You can learn more about C++ AMP by following the links to the right of our C++ AMP blog.
With those caveats out of the way, please download and enjoy the PDF guide:
C++ AMP for the CUDA Programmer
We encourage and welcome your questions and feedback. For questions and feedback specific to this guide, please use the comments section of this blog post below. In response to a question, we have also written a blog post on CUDA libraries. For questions and feedback related to C++ AMP in general, please continue to use our MSDN forum.
Please note that similar guides are available for OpenCL and DirectCompute programmers.