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
smime.p7s
Description: S/MIME cryptographic signature