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 features and scenarios. If you are not familiar with PPL tasks please visit our MSDN page to learn more.

What is exactly is the PPL Power Pack? It is an open source, header only project that work seamlessly with your existing projects without any additional overhead. It ships under the Apache 2.0 license which allows you to freely use, fork and modify the code base. Releasing the power pack as an open source project on CodePlex is a great way to deliver new and exciting features more often.

The experimental features included in this pack have been carefully chosen to provide real value to our customers based on feedback we have received. Although they may not be of product quality, they do come with a promise that we’ll stand behind them and help you if you have issues and fix bugs that you run into. Our intent is that with positive customer feedback and support we may eventually incorporate certain features into future releases of PPL. 

This first release includes the following features:

  • Ability to compose heterogeneous tasks using the when_all / when_any methods.
  • Ability to pass local variables though continuations without using global variables.
  • Ability to easily create an async task continuation loop on fly.
  • Ability to run or cancel tasks after a given time.
  • Ability to report and track progress information for tasks.

Visit us on CodePlex today and try out the PPL power pack. Our documentation page walks through each of the new APIs with code snippets and a sample project demonstrates the features in use.

Please report any issues, give us any feedback or make requests for any new features you would like to see in upcoming releases through the forums on CodePlex. 

Thank you!.

Comments (6)

  1. MattPD says:

    Are there any plans for cross-platform support and/or compatibility with TBB?

  2. MattPD,

    We did make PPL tasks cross-platform as part of the PPLX project. It's currently a part of the C++ REST SDK (aka Casablanca). Many of the Power Pack features should be easily portable on other platforms as well, and can be used together with PPLX.

    We did not make PPL algorithms cross-platform, but TBB already has these capabilities, so use that on non-Windows platforms.

  3. MattPD says:


    Thank you for your reply! // And a very interesting library, BTW!

    I'm asking specifically about the PPL Power Pack (not PPL per se), since the docs currently state it's non-portable:

    Are you saying that since PPLPP is an extension for PPL Tasks, it should also work over PPLX?

    That would be great news and a rather important feature, may be worth updating the docs! 🙂

  4. Arash Partow says:

    Can you guys please stop pushing this crap and instead help STL with his development and testing work.

    They just found a bug the other week in the STL that has been there since vs2010 and it's too late to fix for the 2013 RTM.

    There are far more important items that the visual C++ team should be concerning themselves with and dedicating effort and energy towards than these toy projects.

  5. @MattPD: The main focus in this release was to enable PPLPP for the PPL users in Visual Studio 2012 and the upcoming 2013. It also *should* work over PPLX, potentially with some namespace changes. We didn't "officially" support it due to time constraints (as another commenter pointed out, we also need to work on other things, such as the STL)

  6. MattPD says:

    Artur: OK, thanks for the reply, fair enough 😉