Parallel Programming in Native Code

Parallel programming using C++ AMP, PPL and Agents libraries.

Browse by Tags

Tagged Content List
  • Blog Post: Walkthrough: Cartoon Effect filter using data-flow network

    This topic shows how to implement a cartoon-like filter that can be applied to video frames by using a data-flow network. The filter consists of two stages: 1. Color simplification: where a Gaussian average of the neighbor area of a pixel is calculated and assigned to that pixel. This is an iterative...
  • Blog Post: Writing a Custom Message Block – Part 2: Reserving and Consuming

    In my last blog post , I covered an introduction to writing a custom message block. This covered the basic functions required to work with other message blocks in a message-passing network. To be fully compliant with all message blocks, there are four more functions that must be defined to support reserving...
  • Blog Post: concurrent_vector and concurrent_queue explained

    As a user of Visual Studio, you might have had a chance to use the concurrent data structures introduced in the Beta 2 release – concurrent_vector<T> and concurrent_queue<T> . A detailed discussion about the design, usage, and methods of concurrent_queue can be found here . A similar discussion...
  • Blog Post: Writing a Custom Message Block – Part 1: Introduction

    The Asynchronous Agents Library within the Concurrency Runtime provides a set of basic message blocks which can be used to create a message passing network. In most cases, these blocks have sufficient enough flexibility and can be composed together to provide all the necessary functionality for your...
  • Blog Post: Code Samples for the Concurrency Runtime, Agents Library and Parallel Pattern Library updated for Beta2

    We’ve posted an update to our sample pack at http://code.msdn.com/concrtextras for Visual Studio 2010 Beta2 . The newest thing is this drop of the sample pack are the three new header files in the ConcRTExtras folder.  Here’s what these files contain: ppl_extras.h contains additional stl style parallel...
  • Blog Post: Asynchronous Agents Library - Intro to Message Blocks

    In my previous post I talked about the agent class. Now I will introduce the Agents Library’s message blocks , how to use them, and the fundamentals of what they do. I will cover some basics that apply to all of the message blocks, introduce the messaging APIs, and then specifically explain three blocks...
  • Blog Post: Synchronization with the Concurrency Runtime - Part 3

    In my previous posts, I addressed the motivation behind using concurrency runtime’s synchronization primitives and also introduced Critical Section and reader writer lock. In this blog, I will cover concurrency runtime’s event. Event This is a bi-state type class which, unlike Critical Section...
  • Blog Post: Introduction to Asynchronous Agents Library

    One of the native concurrency components coming in Visual Studio 2010 is the Asynchronous Agents Library. The goal of the Agents Library is to improve developer productively and enable developers to take advantage of concurrency with an agent-based message passing model to build isolated and composable...
  • Blog Post: Samples posted for the Parallel Pattern Library and Concurrency Runtime

    Following the release of Visual Studio 2010, we've just published a set of sample applications for using the Parallel Pattern Library, the Agents Library and the Concurrency Runtime on code gallery. These supplement the documentation and samples provided on msdn for Beta1. The samples include using...
  • Blog Post: Implementing Dining Philosophers with the Agents Library

    The latest issue of msdn magazine includes an article that I wrote which illustrates implementing the Dining Philosophers purely in message passing and without using any explicit locking. If you have Visual Studio 2010 Beta1 installed, you can also download the code and build the project , even if you...
  • Blog Post: What's new in the Concurrency Runtime and the Parallel Patterns and Asynchronous Agents Libraries

    Visual Studio 2010 Beta1 has been released, and it is a full install version . The team has been busy, busy busy since the CTP release last fall to deliver most of the APIs and objects we’ve blogged about here into Beta1. So I wanted to take a moment to summarize what’s new in the Beta for the Parallel...
  • Blog Post: Synchronization with the Concurrency Runtime - Part 2

    In my previous post, I addressed the motivation behind using concurrency runtime’s synchronization primitives and also introduced Critical Section. In this blog, I will cover concurrency runtime’s reader writer lock. Reader Writer Lock This class enables multiple threads to read from a shared resource...
  • Blog Post: Synchronization with the Concurrency Runtime - Part 1

    In a concurrent world multiple entities work together to achieve a common goal. A common way to interact and coordinate is to use shared data. However, shared data must be accessed carefully. This can be achieved through synchronization, primarily using: i) Blocking methods such as locks and mutexes...
  • Blog Post: Concurrency Runtime and Windows 7

    Microsoft has recently released a beta for Windows 7, and a look at the official web site ( http://www.microsoft.com/windows/windows-7/default.aspx ) will show you a pretty impressive list of new features and usability enhancements. I encourage you to go look them over for yourself, but in this article...
  • Blog Post: Dave Probert ‘goes deep’ on Win7 User Mode Scheduled Threads

    Charles Torre just posted a great Channel9 session with Windows kernel architect Dave Probert on functionality new to Windows7: User Mode Scheduled (UMS) Threads. Much like fibers, UMS threads enable a user mode scheduler (like the Concurrency Runtime) to have control over scheduling of threads in user...
  • Blog Post: An Introduction to Native Concurrency in Visual Studio 2010

    In this blog I will be giving an introduction to the native concurrency support in Visual Studio 2010. My motivation is that an architectural understanding of the features will enable the reader to make the most of the underlying infrastructure. In future blogs, I will go deeper into each sub topic....
  • Blog Post: Getting the Visual Studio 2010 CTP to use more than one hardware thread: using Hyper-V and other options

    Last week, we blogged about the Visual Studio 2010 CTP which includes the Concurrency Runtime, the Parallel Pattern Library and the Asynchronous Agents Library which is available as a Virtual PC image. As the Parallel Extensions to .NET team blogged yesterday, this is unfortunate because VPC images only...
  • Blog Post: Visual Studio 2010 CTP available: Including the Concurrency Runtime, Parallel Pattern Library and Asynchronous Agents Library!

    In his blog post on Monday, Soma mentioned some of the great things happening at PDC 2008 and also announced the Visual Studio 2010 CTP. We’re very excited to announce that this CTP includes the Concurrency Runtime, the Parallel Pattern and Asynchronous Agents Libraries for C++ developers that we’ve...
  • Blog Post: Avoiding Contention using Combinable Objects

    When attempting to parallelize an algorithm, programmers are frequently thwarted by the presence of shared state . Any state that can potentially be modified by multiple threads simultaneously during a parallel operation must be synchronized somehow to prevent race conditions, data corruption, and all...
  • Blog Post: Guided Tour of the Concurrency Runtime and Parallel Libraries Part 1: supporting fine-grained tasks

    In the next several blog posts I want to continue the early look of what we're considering in the Concurrency Runtime and the Parallel Libraries built on top of it. Today, I'll share primitives for expressing fine-grained parallelism and concurrency. In the next few posts in this series, I'll provide...
  • Blog Post: Welcome to the Native Concurrency blog!

    Welcome to the Parallel Programming in Native Code blog. I started this blog so that I and others on my team would have a place to talk about topics relating to native concurrency. I want to use this blog to provide early looks into what we’re thinking about, give announcements about any publicly available...
Page 1 of 1 (21 items)