Posted By: Jason Olson | Nov 13th, 2008 @ 7:37 AM | 57,157 Views | 16 Comments
Welcome back to another Visual Studio 2010 and .NET Framework 4.0 Week video. In this latest installment, we catch up with Rick Molloy, Program Manager on the Parallel Computing Platform team.

Rick takes us on a tour of the new parallelism features coming with C++ 10 via the Parallel Patterns Library. Covered are features like task groups, structured task groups, and agents-based parallelism, among many others.

Enjoy! 

This is another Visual Studio 2010 and .NET Framework 4.0 Week Video. For other Visual Studio 2010 videos, check out the Visual Studio topic area here on Channel 9.
Media Downloads:
Rating:
5
1
qrt
qrt
Just a more general question. What is up with the format of the recent vids? I would like to see them on the iPod, but only a 'screencast' download is available.
qrt
qrt
Hey Jason, I wouldn't know since I haven't tried that yet. The resolution of the iPod is 480 x 320 so chances are low. But I still wouldn't mind to give it a try and report back if you find the time to convert an episode.

Thanks Rick,
This parallel work that you're all working on is fantastic. Abstracting away the hard parts is definitely going to bring great benefits to all developers, and not just a minority in academia.
I trust your making some progress with the parallel breakpoints problem.

How much of this work has been put into Azure?

Are you focusing on native first or going forward in parallel (no pun intended) with managed languages?

Great Stuff!

Glad you enjoyed this technogeist, if you check out the Visual Studio 2010 CTP, you'll see that we're doing significant work concurrently, in both native and in .NET 4.0 to support concurrency.  I'd also encourage you to check out the video on the native focused asynchronous agents which is also in the CTP. 

Daniel Moth walked through some of the tools that we're working on as well for debugging and I'd encourage you to check that out.

-Rick

Is there a place to download the source code you were showing so that I could easily start playing with it?
I've posted links to the CTP at http://blogs.msdn.com/nativeconcurrency/.  Most of what I was doing on the fly is supported in the CTP.

 I think the only tricky thing was the factory method for constructing a task...

#include <ppl.h>

//a helper factory mathod for declaring a task
template <class Func>
task_handle<Func> make_task(Func& fn){
   return task_handle<Func>(fn);
};

void main(){
    // a task_group
    task_group tasks;
    
    //a task
    auto t = make_task([]{ cout << "hello from a task" << endl;});
   
   tasks.run(t);

   tasks.wait();

}
al6
al6
The parallell patterns library seems to be very simple and powerful. But this is not a bit of standard c++0x, is it?
If no; is there some equivalence in the c++0x standard library?

Where can we read some synopsis over the ppl.h? You said that the structured_task_group had the same functionallity that task_group, but it would be less portable and more optimized for this fibonacci-program. But when i try to use structured_task_group with a lambda, it does not work because there is no run-method in structured_task_group that takes a lambda. Will the structured_task_group work with lambdas in the future, or do i have to use task_group with lambdas?

Also, the helper factory method is not mandatory, right? I'm new to parallell programming, but this library seems to be very simple, all i want is some specification or synopsis of it.
Microsoft Communities