[Gridflow-dev] [PD] OpenMP and Pd

Mathieu Bouchard matju at artengine.ca
Mon Dec 6 15:52:38 EST 2010


On Mon, 6 Dec 2010, Pedro Lopes wrote:

>> to GridFlow's packet-oriented nature (packets more like TCP/IP, not 
>> like PDP, but still based on function->calls)
>
> Yep, that's a consideration that will ultimately yield in a lot of dead 
> times if its parallel. I can try to talk to some openMP heads and figure 
> out if that's out of the equation or not.

can you do something like have a thread per object, such that :

[#for]
  |
[#store]
  |
[#convolve]

... runs in three threads ?

a GridOut struct is a transmission connector, and that's what's being 
passed in grid-messages. After the sending of the grid-message returns, 
each call to the .flow method «sends» a packet from one object to another. 
But you can't parallelise that all over because, quite often, the buffer 
used for that is reused immediately because it's assumed that the data is 
already consumed. However, in many other cases, the data being «sent» is 
just a piece of a grid that will stay constant (for at least until the 
transmission is over).

Frankly, I'm open to a lot of changes in grid.cxx's API, because I believe 
that it's not efficient enough (even from my totally single-threaded 
perspective), and I've been hesitating for too long about this. Perhaps 
that the ways to make it more efficient as a single thread will also be 
related to the ways to make it more threadable.

  _______________________________________________________________________
| Mathieu Bouchard ---- tél: +1.514.383.3801 ---- Villeray, Montréal, QC


More information about the Gridflow-dev mailing list