So you are a newbie to C++ AMP – you know nothing and want to quickly get started, we have you covered – keep on reading! Step 1 – Do this first! While it is typical for many to learn a new technology by writing your own "Hello World", if you...

Some of you don't just want to learn C++ AMP, but you also want to present on C++ AMP to your colleagues, or at user groups and other such events. To help you with that goal, we have made available a set of slides from which you can pick the ones that...

In this blog post I am sharing a sample named Random Traveler, which demonstrates a graph based algorithm. Using the sample The random traveler starts at an airport, takes an outgoing flight, reaches another airport, again takes an outgoing flight from...

In this sample we present a C++ AMP implementation of fluid simulation using the Smoothed-Particle Hydrodynamics (SPH) algorithm. The method was devised in 1970s by Gingold and Monaghan. Although originally meant for the simulation of astrophysical entities...

This sample demonstrates implementation of image morphing . This image transformation technique, dating back to late 80s, is calculating smooth transition between two images, keeping the selected features (e.g. eyes, nose) in images matching each other...

For CUDA programmers, as you know, we have published a customized C++ AMP learning guide . If you know CUDA and are planning to use C++ AMP for new projects or for porting existing projects, you can follow the guide to see how to learn C++ AMP. In addition...

The concurrency::array_view class is one of the most important types in C++ AMP and a central concept in the programming model. Over the past year we have shared a lot of content about the C++ AMP concurrency::array_view type through our blog. This post...

C++ AMP includes a performance optimization technology called tiling . There are three major ingredients for using tiling: scheduling thread tiles with tiled parallel_for_each , declaring variables with the tile_static storage class, and use tile_barrier...

The primary goal of offloading work to a GPU is improve performance – either because you need to reduce your coffee consumption waiting for an answer or you are tired of rushing to the wall to plug in your laptop. However, performance may be limited...

The previous posts in this series on C++ AMP array_view covered:
Introduction to array_view and some of its key semantic aspects
Implicit synchronization on destruction of array_view s
array_view discard_data function
Caching and coherence...

The previous posts in this series on C++ AMP array_view covered:
Introduction to array_view and some of its key semantic aspects
Implicit synchronization on destruction of array_view s
array_view discard_data function
In this post I...

The previous posts in this series on C++ AMP array_view covered:
Introduction to array_view and some of its key semantic aspects
Implicit synchronization on destruction of array_view s
This post will describe the discard_data function on...

We've shown previously how to get started with GPU debugging in Visual Studio 2012 . If you read that post you know the simple steps required to hit a breakpoint in restrict(amp) code. Next you'll want to learn about the actual parallel and GPU debugging...

The previous posts in this series on C++ AMP array_view covered:
Introduction to array_view and some of its key semantic aspects
Implicit synchronization on destruction of array_view s
array_view discard_data function
Caching and coherence...

This post assumes you have read the introduction and prerequisite: Visual Studio Race Detection for C++ AMP . I will also assume that you have enabled all the race detection hazard options of the Exceptions dialog, as described in that prerequisite blog...

This post assumes you have read the introduction and prerequisite: Visual Studio Race Detection for C++ AMP . I will also assume that you have enabled all the race detection options of the Exceptions dialog, as described in that prerequisite blog post...