Staging Texture in C++ AMP

C++ AMP in Visual Studio 2012 had the ability to create staging array which helped in optimizing data transfer cost between the host and accelerator_view. In C++ AMP in Visual Studio 2013, we have enhanced the texture by adding the capability to create staging texture which brings in same benefits and has same semantics as…


Overview of the texture view design in C++ AMP

In order to enhance C++ AMP texture support with more features such as sampling and mipmap levels, we redesigned the C++ AMP texture view APIs in Visual Studio 2013. In this blog post, I will give you an overview of the changes we made in the design of texture views compared to Visual Studio 2012…

9

Texture Sampling in C++ AMP

Texture sampling is a texture operation used to access values from a texture (i.e. texels) given floating point coordinates and return a formatted value. A filtering algorithm is used to fetch or combine one or a group of texels to produce the result of a sampling operation. Many GPUs have optimized hardware and caches specifically…

3

Introducing the Parallel Patterns Libraries (PPL) Power Pack

The PPL team is proud to announce that the first release of the PPL Power Pack (v0.1.0) is now available on CodePlex. The power pack is an open source feature extension package for PPL tasks in Visual Studio 2012 and Visual Studio 2013 preview. It extends the capabilities of PPL tasks by adding new productivity…

6

Shared memory support in C++ AMP – a deeper dive

The previous posts in this series on shared memory support in C++ AMP covered: Introduction to shared memory support in C++ AMP Implicit use of shared memory underlying array_view by the C++ AMP runtime In this final post of the series, we will dive deeper into the topic and look at: · How C++ AMP…

5

Shared memory support in C++ AMP – array_view

The previous post in this series provided an introduction of CPU/GPU shared memory support in C++ AMP. In this post we will take a closer look at how shared memory is implicitly used by the C++ AMP runtime underlying array_view objects, to boost the performance of your existing C++ AMP code. Implicit use of shared…

2

Shared memory support in C++ AMP – Introduction

Several modern CPU parts such as 3rd Gen (and later) Intel Core Processors (e.g. Ivy Bridge and Haswell) and all AMD APUs (e.g. Llano and Trinity), have an on-die integrated GPU accelerator which shares the same physical RAM with the CPU. On such parts creating copies of data from CPU memory for GPU access and…

4