No need to cross-post to both lists; I'm just replying to the users list since this is a user's-level question.
Unfortunately, Open MPI's level of thread support still isn't great.
Also, it sounds like you have a 100% threaded problem; MPI may not be the best tool for you. MPI is more about inter-process communication; it is not currently good at inter-thread communication (there's a lot of talk about this topic in the MPI standards body, and something about inter-thread communication may make it into the upcoming MPI-4 specification, but today the most recent version of the MPI specification is MPI-3.0).
On Jan 24, 2014, at 12:28 PM, Kenneth Adam Miller <kennethadammiller_at_[hidden]> wrote:
> I have a specific use case that I want to describe, and I'm brand new to MPI. It's rather complex, so I want to be careful that I design it so that there are no race conditions.
> Pool A is a buffer (of type 1) handle manager, that feeds buffer handles into thread set 1, and receives old handles from thread set 2. There is only one thread running pool A.
> Thread set 1 is a set of N threads that fill up buffers of type 1 with regular data. It pushes full buffers to thread set 2.
> Thread set 2 is a set of M threads that compress buffers of type 1 into data buffers of type 2. Once the buffer of type 1 has be used up, it is cleared and sent back to Pool A. It pulls fresh data buffers of type 2 from Pool B, and sends freshly filled compressed buffers to Pool C.
> Pool C does something with the buffer, clears it and hands it to Pool B.
> Can this be done safely using an implementation like what I see here: http://www.justsoftwaresolutions.co.uk/threading/implementing-a-thread-safe-queue-using-condition-variables.html
> Note 1: -= denotes a 1-to-N connect and =- a N-to-1 connect
> RR = Request reply relationship
> Questions: does MPI work with intel PIN tools? If so, then how can I apply it to this? (I need specific modules and some examples, the OpenMPI manual just appears to be a bunch of references with no textual guides...).
> users mailing list
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/