We just switched the default compile-mode to MPI_THREAD_MULTIPLE (with
prior testing). Thus, we are relatively confident it should work on all
BTLs. If not we would be happy to hear about.

  George.


On Sun, Apr 24, 2016 at 11:02 AM, dpchoudh . <dpcho...@gmail.com> wrote:

> Hello Gilles
>
> That idea crossed my mind as well, but I was under the impression that
> MPI_THREAD_MULTIPLE is not very well supported on OpenMPI? I believe it is
> not supported on OpenIB, but the original poster seems to be using TCP.
> Does it work for TCP?
>
> Thanks
> Durga
>
> 1% of the executables have 99% of CPU privilege!
> Userspace code! Unite!! Occupy the kernel!!!
>
> On Sun, Apr 24, 2016 at 10:48 AM, Gilles Gouaillardet <
> gilles.gouaillar...@gmail.com> wrote:
>
>> an other option is to use MPI_THREAD_MULTIPLE, and MPI_Recv() on the
>> master task in a dedicated thread, and use a unique tag (or MPI_Comm_dup()
>> MPI_COMM_WORLD) to separate the traffic.
>>
>> If this is not the desired design, then the master task has to post
>> MPI_Irecv() and "poll" with MPI_Probe() / MPI_Test() and friends.
>> Note it is possible to use non blocking collective (MPI_Ibcast(),
>> MPI_Iscatter() and MPI_Igather()) and "both" collective and the progress
>> statuses
>>
>> Cheers,
>>
>> Gilles
>>
>> On Sunday, April 24, 2016, dpchoudh . <dpcho...@gmail.com> wrote:
>>
>>> Hello
>>>
>>>
>>> I am not sure I am understanding your requirements correctly, but base
>>> on what I think it is, how about this: you do an MPI_Send() from all the
>>> non-root nodes to the root node and pack all the progress related data into
>>> this send. Use a special tag for this message to make it stand out from
>>> 'regular' sends. The root node does a non-blocking receive on this tag from
>>> all the nodes that it is expecting this message from.
>>>
>>> Would that work?
>>>
>>> Durga
>>>
>>>
>>> 1% of the executables have 99% of CPU privilege!
>>> Userspace code! Unite!! Occupy the kernel!!!
>>>
>>> On Sun, Apr 24, 2016 at 7:05 AM, MM <finjulh...@gmail.com> wrote:
>>>
>>>> Hello,
>>>>
>>>> With a miniature case of 3 linux quadcore boxes, linked via 1Gbit
>>>> Ethernet, I have a UI that runs on 1 of the 3 boxes, and that is the root
>>>> of the communicator.
>>>> I have a 1-second-running function on up to 10 parameters, my parameter
>>>> space fits in the memory of the root, the space of it is N ~~ 1 million.
>>>>
>>>> I use broadcast/scatter/gather to collect the value of my function on
>>>> each of the 1million points, dividing 1million by the number of nodes (11:
>>>> rootnode has 1 core/thread assigned to the UI, 1 core/thread for its
>>>> evaluation of the function on its own part of the parameter space and 2
>>>> other cores run non-root nodes, and the 2 other boxes all run non-root
>>>> nodes)
>>>>
>>>> the rootnode does:
>>>> 1. broadcast needed data
>>>> 2. scatter param space
>>>> 3. evaluate function locally
>>>> 4. gather results from this and all other nodes
>>>>
>>>> How would I go about having the non-root nodes send a sort of progress
>>>> status to the root node? that's used for plotting results on the root box
>>>> as soon as they are available?
>>>>
>>>> Rds,
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> users mailing list
>>>> us...@open-mpi.org
>>>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>> Link to this post:
>>>> http://www.open-mpi.org/community/lists/users/2016/04/29013.php
>>>>
>>>
>>>
>> _______________________________________________
>> users mailing list
>> us...@open-mpi.org
>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>> Link to this post:
>> http://www.open-mpi.org/community/lists/users/2016/04/29015.php
>>
>
>
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
> Link to this post:
> http://www.open-mpi.org/community/lists/users/2016/04/29016.php
>

Reply via email to