Hello, I am Amit Agarwal, a developer on the C++ AMP team. In this blog post I will share some details pertaining to scheduling of commands (resulting from C++ AMP API calls) on C++ AMP accelerators and how you can exercise control over these scheduling aspects in C++ AMP as per the needs of your…

# Month: November 2011

## C++ AMP FFT Test Application

In previous posts we have introduced the Fast Fourier Transform (FFT) on the GPU and shared a C++ AMP FTT Library. This post further demonstrates how to use multi-dimensional transformations, and inverse transformations. Please follow these instructions to build and execute the test application. Download the latest version of the C++ AMP FFT Library sources…

## Initializing C++ AMP arrays to the same value

Hi, I am Pavan Marella, an engineer on the C++ AMP team, and in my first post here I wanted to share with you a utility function that I often use. C++ AMP has new basic types which can be used for data transfer between CPU and GPU. concurrency::array is one such data type. One…

## Live from Super Computing 2011: Live C++ AMP Debugging on nVidia’s GPUs!

Our parallel debugging team, headed by architect Paul Maybee and development lead Maria Blees have been putting extra hours working jointly with nVidia engineers to enable live on-hardware GPU debugging for C++ AMP, which visitors to SC’11 can now play with at our Microsoft Parallel Computing booth. Here is a snapshot of (from left to right)…

## The C++ AMP FFT Library

Following up on the previous post in which I introduced Fast Fourier transforms (FFT) on the GPU, in this post I will talk about the C++ AMP FFT Library and explain how to use it in your application. As was noted in the previous post, DirectX already contains an FFT API. So what was left…

## Fast Fourier Transforms (FFT) on the GPU

The Fast Fourier Transform (FFT) is a family of numerical algorithms which has a large number of uses in many fields of computational science and in particular in signal and image processing. Typically the transformation can be thought of as taking a signal which is a function of time, for example, the amplitude of an…

## Bitonic Sort Sample using C++ AMP

Bitonic Sort is one of the parallel sort algorithms suitable for GPU, and am sharing a C++ AMP implementation in this post. My sample is ported from a corresponding DirectX SDK sample which explains the algorithm in details, so please read the DirectCompute sort description on MSDN. main – Entry point Here the input…

## Ocean simulation sample in C++ AMP

Hi, my name is Kevin Gao and I am a SDET on the C++ AMP team. In this blog post, I am sharing an ocean simulation sample. The simulation theory comes from the paper, “Simulating Ocean Water”, written by Jerry Tessendorf. The original sample was written in HLSL by NVIDIA, and I ported the code…

## Staging Arrays in C++ AMP

Hi there, my name is Weirong Zhu, and I’m a developer on the C++ AMP team. In this blog post, I will show you how to use staging arrays to optimize your data transfers between the host and a C++ AMP accelerator_view. When you use the new concurrency::array data container introduced by C++ AMP, you…

## Transitive Closure Sample in C++ AMP

In a directed graph, determining transitive closure or connectivity between the nodes is an important problem. Transitive closure is required in reachability analysis of networks representing distributed and parallel systems. In this blog post I am sharing a transitive closure sample implementation using C++ AMP. The sample is based on the research paper: All-Pairs…