C++ AMP (C++ Accelerated Massive Parallelism)


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

C++ AMP (C++ Accelerated Massive Parallelism) accelerates the execution of your C++ code by taking advantage of the data-parallel hardware that's commonly present as a graphics processing unit (GPU) on a discrete graphics card. The C++ AMP programming model includes support for multidimensional arrays, indexing, memory transfer, and tiling. It also includes a mathematical function library. You can use C++ AMP language extensions to control how data is moved from the CPU to the GPU and back.

C++ AMP OverviewDescribes the key features of C++ AMP and the mathematical library.
Using Lambdas, Function Objects, and Restricted FunctionsDescribes how to use lambda expressions, function objects, and restricted functions in calls to the parallel_for_each method.
Using TilesDescribes how to use tiles to accelerate your C++ AMP code.
Using accelerator and accelerator_view ObjectsDescribes how to use accelerators to customize execution of your code on the GPU.
Using C++ AMP in Windows Store AppsDescribes how to use C++ AMP in Windows 8.x Store apps that use Windows Runtime types.
Graphics (C++ AMP)Describes how to use the C++ AMP graphics library.
Walkthrough: Matrix MultiplicationDemonstrates matrix multiplication using C++ AMP code and tiling.
Walkthrough: Debugging a C++ AMP ApplicationExplains how to create and debug an application that uses parallel reduction to sum up a large array of integers.

Reference (C++ AMP)

tile_static Keyword

restrict (C++ AMP)

Parallel Programming in Native Code Blog

C++ AMP sample projects for download

Analyzing C++ AMP Code with the Concurrency Visualizer