Why not using stock PPL

Aug 12, 2013 at 9:47 PM
Why not use standard PPL library?
What are differences in PPL and PPLx?
Coordinator
Aug 13, 2013 at 1:01 AM
Hi masoomshaikh!

PPL did exist in the prior versions of Visual Studio but did not have all functionality we need for Casablanca. It obviously did not exist on Linux.

PPLX is a port of PPL to Visual Studio 2010, Visual Studio 2012, and also Linux. It is not needed for the new (soon-to-be released) version of the Visual Studio 2013, in which you can just use the "stock" PPL.

I hope that makes sense.
Aug 13, 2013 at 6:51 AM
I hope that makes sense.
yes it does.
the yet-to-be-shipped PPL with VS 2013 is "portable" to Linux?
Coordinator
Aug 15, 2013 at 1:24 AM
the yet-to-be-shipped PPL with VS 2013 is "portable" to Linux?
Yes it is. You only need to provide your own scheduler implementation, just like the one we have in Casablanca.

Also, by "PPL" above we only mean PPL tasks not PPL algorithms (like parallel_for etc.)
Aug 20, 2013 at 9:00 AM
Thanks arturl,

one more related question, pplx does not have task_groups? if not, then how to spawn new tasks?
something like below
long_async_work().then([] () {
  // create a new task and add to scheduler, how?
  // carry on something.
});
if task_groups were supported then I could have done something like
task_group tg;
tg.run([](){});
Coordinator
Aug 20, 2013 at 8:21 PM
That's right -- there is no task_group in PPLX, but you can still use create_task to create individual tasks.
Aug 21, 2013 at 12:05 PM
how to 'schedule' the created task? I would like to achieve something illustrated below
auto process_line = [](...){};

for(;;) {
  line = read_line();
  std::async( process_line);
  // how to spawn it?
  // auto t = create_task()
}
sorry I have not tried create_task() after your response, though I do know it exists.
Aug 21, 2013 at 3:04 PM
create_task() is exactly like std::async(), it schedules the work automatically.
Aug 22, 2013 at 11:18 AM
Thanks niklasgu,
I believe this should be captured in documentation.
Aug 22, 2013 at 4:12 PM
If you follow the documentation link to 'more information on PPL tasks,' it takes you to:

http://msdn.microsoft.com/en-us/library/dd492427(v=vs.110).aspx
Oct 6, 2014 at 11:05 PM
Hi Niklasgu,

I know that this thread is an year old one. I am curious if latest Casablanca release supports PPL parallel algorithms?

Thanks,
Venu
Coordinator
Oct 7, 2014 at 4:37 PM
Hi Venu,

No we only support PPL tasks in the C++ Rest SDK. None of the parallel algorithms have been added.

Steve