Parallel Programming in Native Code

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

Browse by Tags

Tagged Content List
  • Blog Post: How to put a PPLTasks continuation chain into a loop

    Background The way to express sequential logic in asynchronous programming with PPLTasks is task continuation chain; however, there is no easy way to construct a loop of continuations with tasks. In many scenarios, an asynchronous loop can be useful; for example, suppose you want to download a file...
  • Blog Post: Check out Hilo for Windows 8!

    I’m working with the patterns & practices team on a Metro style app with C++ and XAML called Hilo. Hilo is a basic photo viewing and tagging app that totally re-imagines Hilo for Windows 7 by embracing new form factors and experiences that Windows 8 enables. One of the more exciting aspects...
  • Blog Post: PPL and JavaScript: Bing Maps Trip Optimizer for Windows 8 Now Available on MSDN Developer Samples!

    One of the things I like best about creating Windows 8 Metro style apps is that you can more easily combine the best of C++, JavaScript, and .NET languages into one app. For example, you can use JavaScript and HTML or XAML to define your UI and C++ to perform the computationally intensive parts. Another...
  • Blog Post: Documentation updates for the PPL (Visual Studio 11 Beta) and Welcome Back to C++

    If you follow this blog, I don’t have to remind you that C++ is king when it comes to flexibility, scalability, and performance. If you also follow the evolution of C++, namely C++ 11, you’re also familiar with new language features such as lambda expressions, rvalue references, and auto initializers...
  • Blog Post: PPL and ConcRT: What’s new in Visual Studio 11 Beta

    In this product cycle release, our goal was to focus on providing comprehensive expressions for parallel patterns in C++. This Beta release allows you to start taking advantage of the libraries and go-live with your products using these features. In Visual Studio 2010, we saw the introduction of...
  • Blog Post: Announcing the PPL, Agents and ConcRT efforts for V.next

    I am super-excited to have been part of multiple announcements that Microsoft made at the AMD Fusion 11 conference held in Bellevue WA this week. First, Herb Sutter announced C++ AMP yesterday morning and AMD Fusion11, which will be an extension of C++ that we are planning to include in our next VC...
  • Blog Post: Bing Maps Trip Optimizer Now Available on MSDN Developer Samples!

    I want to invite you to check out a developer sample that I wrote called Bing Maps Trip Optimizer . Bing Maps Trip Optimizer is a C++ ActiveX control that uses the ant colony optimization algorithm to solve the traveling salesman problem . It is driven by an HTML/JavaScript front-end that collects locations...
  • Blog Post: The Concurrency Runtime and Visual C++ 2010: Transporting Exceptions between Threads

    Last time, we looked at how to use the rvalue references in Visual C++ 2010 to help you improve the performance of applications that use the Concurrency Runtime (see The Concurrency Runtime and Visual C++ 2010: Rvalue References ). This week we’ll examine how to deal with exceptions that are thrown by...
  • Blog Post: The Concurrency Runtime and Visual C++ 2010: Rvalue References

    Last time, we looked at how to use the decltype keyword in Visual C++ 2010 to deduce the type of an expression (see The Concurrency Runtime and Visual C++ 2010: The decltype Type Specifier ). This week we’ll look at rvalue references, a Visual C++ language feature that can help you to further improve...
  • Blog Post: The Concurrency Runtime and Visual C++ 2010: The decltype Type Specifier

    Welcome back! Last time, we looked at how to use the auto keyword in Visual C++ 2010 to implicitly declare local variables based on their initialization (see The Concurrency Runtime and Visual C++ 2010: Automatic Type Deduction ). This week we’ll look at yet another great Visual C++ 2010 language...
  • Blog Post: The Concurrency Runtime and Visual C++ 2010: Automatic Type Deduction

    Last time, we looked at how to use lambda expressions in Visual C++ 2010 to make the Concurrency Runtime even easier to use (see The Concurrency Runtime and Visual C++ 2010: Lambda Expressions ). This week we’ll take a quick look at the auto keyword, which is another language feature that can enhance...
  • Blog Post: The Concurrency Runtime and Visual C++ 2010: Lambda Expressions

    As a C++ programmer, you might have already started working with the Concurrency Runtime components in Visual Studio 2010 such as the Parallel Patterns Library (PPL) and the Asynchronous Agents Library . These libraries make it much easier to write parallel code that takes advantage of multi-core. I...
  • Blog Post: New Sample Pack Update!

    Announcing v0.33 of the Sample Pack and ConcRT Extras! There is one new sample and a number of new and updated containers and algorithms. Substantial updates were made to the following containers: concurrent_unordered_map, concurrent_unordered_multimap concurrent_unordered_set, concurrent_unordered_multiset...
  • Blog Post: Resource Management in Concurrency Runtime – Part 3

    In my previous blog post , I talked about the dynamic migration concept of the Concurrency Runtime’s (ConcRT) Resource Manager (RM). Today I will be demonstrating that concept in action and will focus on its performance characteristics. A Demonstration of Dynamic Migration The scenario that we...
  • Blog Post: What’s new in Beta 2 for the Concurrency Runtime, Parallel Pattern Library and Asynchronous Agents Library

    Last week Visual Studio 2010 Beta was released for download . Since Beta1, the team has been pretty busy adding enhanced functionality to make you more productive at expressing parallelism in your applications and improving the quality and performance of our runtime and programming models. Here’s a guide...
  • Blog Post: Resource Management in Concurrency Runtime – Part 2

    In my previous blog post , I talked about key concepts of the Concurrency Runtime’s (ConcRT) resource manager, starting with a definition of a resource. I then explained why an application might be composed of a number of scheduler instances. Eventually I mentioned how the resource manager helps in resource...
  • 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: 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: 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: Resource Management in the Concurrency Runtime – Part 1

    In my previous blog post, I gave an introduction to the native concurrency runtime in Visual Studio 2010. For a general picture of the native concurrency runtime, and high level roles of each of its components please refer to this post. Today, I will talk about the lowest level in that component stack...
  • 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: On Channel9: a chat with members from the Visual C++ and Concurrency Runtime teams

    Last week, Don McCrady, Damien Watkins from the C++ team and I sat down with Charles from Channel9 and chatted about the Concurrency Runtime, new C++ work in Visual Studio 2010 and how our teams are working together. As Charles pointed out, we also touched briefly upon new features in the C++0x...
Page 1 of 2 (32 items) 12