C++ AMP for the DirectCompute Programmer

Hello DirectCompute programmers!

If you’re familiar with the DirectCompute API and HLSL (High Level Shader Language) for writing compute shaders, then this blog post and the attached guide may be for you.  This learning guide will introduce you to C++ AMP by mapping familiar DirectCompute/HLSL 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 a DirectCompute 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 DirectCompute 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 DirectCompute/HLSL 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 DirectCompute/HLSL.  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 DirectCompute 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 OpenCL and CUDA programmers.

C++ AMP for the DirectCompute Programmer.pdf