Questions tagged [ppl]

The Parallel Patterns Library (PPL) is a C++ library included with Microsoft Visual C++ 2010+ that provides an imperative programming model that promotes scalability and ease-of-use for developing concurrent applications.

The Parallel Patterns Library (PPL) is a C++ library included with Microsoft Visual C++ 2010+ that provides an imperative programming model that promotes scalability and ease-of-use for developing concurrent applications.

142 questions
2
votes
1 answer

What are the distinctive features of ISL and PPL for ClooG when using gcc?

When building or using any given version of gcc, why I should prefer 1 of this 2 backends for ClooG over the other ? I can't find a good documentation about it on the gcc website .
user2485710
  • 9,451
  • 13
  • 58
  • 102
2
votes
2 answers

C++ Thread execution order in a thread pool

Does anyone know of a C++ thread pool implementation that allows both parallel threading (like a typical thread pool) but also allows for back to back serial execution order. I have spent several days trying to make this work by modifying the…
johnco3
  • 2,401
  • 4
  • 35
  • 67
2
votes
2 answers

Find max value with ppl.h

Is there a simple function in the ppl library for C++ where you can do something like Concurrency::max(vec) where vec is a vector of numbers? I can write my own, but I was hoping I could save myself the work. Edit: Sorry I was not clear enough…
spurra
  • 1,007
  • 2
  • 13
  • 38
2
votes
2 answers

VC10 PPL or prepare for STL thread

I'm using MSVC 2010 starting a new MFC-project and now trying to decide which lib to use for concurrent tasks. I know of the new C++0x thread features but it's not implemented in VC10. VC12 is not yet an option but it will come in the future. I do…
DaBrain
  • 3,065
  • 4
  • 21
  • 28
2
votes
2 answers

PPL critical_section/parallel_for crashing under visual studio 2010?

I've made this simple test program, and it sometimes triggers a Debug Break or it just crashes (under Debug/Win32/VS2010SP1) - and of course, sometimes it even works. Is there anything I am doing wrong or is there a bug somewhere in PPL…
Lin
  • 355
  • 3
  • 10
2
votes
1 answer

Using 'VS2010 Parallel Patterns Library' in VC++

I have created a vc++ windows form application (VS 2010) and when I tried to include ppl.h (Parallel Patterns Library) I got the following compile error. Error: Concurrency Runtime is not supported when compiling /clr. c:\Program Files…
user1815763
  • 103
  • 2
  • 10
2
votes
2 answers

What is the purpose of .then construction in PPL tasks?

I'm interesting what is the purpose of .then construction in PPL and where can I test it? It seems Visual Studio 2012 don't support it yet (may be some future CTP's?). And does it have equivalents in standard C++11 async library?
Oleksandr Karaberov
  • 12,573
  • 10
  • 43
  • 70
2
votes
1 answer

VC++ PPL, assigning a Scheduler to a task_group

Pretend we have a class: class Foo { private: Concurrency::task_group _tasks; }; How do I assign a scheduler to this task_group? I do not want to use the default scheduler as I also use parallel_for elsewhere in the code. The task_group will…
GreekFire
  • 359
  • 4
  • 15
2
votes
2 answers

c++ catch error raised by PPL parallel_for

I have written this piece of code to catch error launched by ppl try { parallel_for (m_row_start, m_row_end + 1, [&functionEvaluation,varModel_,this](int i) { // do things }); } catch(const…
kiriloff
  • 25,609
  • 37
  • 148
  • 229
2
votes
1 answer

PPL and Intel media SDK

I would like to integrate the Intel QSV encoder in my project. There is a point in the Intel known limitations release note I like to be clarified: Using the Intel Media SDK in parallel with Intel® Threading Building Blocks could impact…
kyviquel
  • 41
  • 3
2
votes
1 answer

restrict(amp) function type

I can create restrict(amp) function as follows: auto f = [](int& item) restrict(amp) {item += 1;}; And I can use this function in other restrict(amp) functions, for example: concurrency::parallel_for_each(av.extent, [=](concurrency::index<1>…
synacker
  • 1,722
  • 13
  • 32
1
vote
3 answers

Strange execution time in Debug and Release versions

i started to play with Parallel Pattern Library in VS2010 the application gives me expected results but when i benchmark the debug version and release version i get strange execution time in Release version as follow Debug Version : "Sequential…
Ma7moud El-Naggar
  • 548
  • 1
  • 6
  • 18
1
vote
2 answers

ppl ,how to use it properly?

The following code: #include int i; vector val(10),summ(10,0); for(i=0;i<10;i++) val[i]=i; parallel_for(0, 10, [&] (int y){ vector vett(1000); double vall=val[y]; for(i=0;i
MarcoS
  • 160
  • 7
1
vote
0 answers

What does the concurrency::task destructor do?

The documentation for concurrency::task says: When a task object is assigned to a new variable, the behavior is that of std::shared_ptr; in other words, both objects represent the same underlying task. So when the task is destructed, and no other…
MHebes
  • 2,290
  • 1
  • 16
  • 29
1
vote
1 answer

async_compose not keeping io_context full of work?

I am trying to write a general async_task(Executor& executor, Token&& token, Fn&& func, Args&&... args) async initiating function. The goal is to wrap arbitrary, blocking, third-party functions in a thread, and provide an asio-based interface. It's…
MHebes
  • 2,290
  • 1
  • 16
  • 29