Thanks
Brock Palen
Center for Advanced Computing
bro...@umich.edu
(734)936-1985
On Jan 12, 2008, at 10:20 PM, George Bosilca wrote:
Both cases should work just fine. In fact as long as there is only
one execution flow using MPI functions, the user will not face any
problems.
In a non-threaded build, there is no real progress outside the MPI
calls. Here by real progress I understand MPI request progress,
something that is visible from the user level (such as request
completion).
If a blocking send is used, and the length of the data is under the
eager limit, the message will stay in the network until the
receiver access some MPI function. However, in this case the sender
is free to continue its execution. In the case where the length
exceed the eager size, the sender will be blocked until the
corresponding receive is posted (and then the rendez-vous protocol
completed and data transmitted).
george.
On Jan 12, 2008, at 9:16 PM, Brock Palen wrote:
Hey guys,
I know that threading is very immature (or broken) in the 1.2
series, But what happens if a user wants to use a threaded BLAS
(GOTO) library with their MPI code and never has OpenMP/pthreads
parallel regions with MPI calls? Would this work?
What about using OpenMP in their code but again all MPI calls happen
outside parallel regions. How would a process who is behind in
execution handle a incoming message when it has not yet hit outside
the threaded region ware the MPI_Recv() is called? Would the library
just hold on to it (if below the eager limit) and wait until someone
calls the Recv that matches the message?
Brock Palen
Center for Advanced Computing
bro...@umich.edu
(734)936-1985
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users