Share via


C++ AMP for the OpenCL Programmer

Hello OpenCL programmers!

If you’re familiar with OpenCL, then this blog post and the attached guide may be for you.  This learning guide will introduce you to C++ AMP by mapping familiar OpenCL terms and concepts to similar terms and concepts in C++ AMP.  It’s divided into two parts:

  1. A step-by-step guide to rewriting an OpenCL implementation of matrix multiplication in C++ AMP.  Using this familiar algorithm should help you focus on the process rather than the algorithm.
  2. A non-exhaustive set of tables that map the most common OpenCL features to C++ AMP features.

Please keep in mind that this guide is an introduction to C++ AMP only.  It covers only the most common features of both OpenCL 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 OpenCL.  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 OpenCL 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.  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 DirectCompute and CUDA programmers.

C++ AMP for the OpenCL Programmer.pdf