guosong wrote:
Thanks for responding. I used a linux cluster. I think I would like to create a model that is multithreaded and each thread can make MPI calls. I attached test code as follow. It has two pthreads and there are MPI calls in both of those two threads. In the main function, there are also MPI calls. Should I use a full multithreading?
I guess so.  It seems like the created threads are expected to make independent/concurrent message-passing calls.  Do read the link I sent.  You need to convert from MPI_Init to MPI_Init_thread(), asking for a full-multithreaded model and checking that you got it.  Also note in main() that the MPI_Isend() calls should be matched with MPI_Wait() or similar calls.  I guess the parent thread will sit in such calls while the child threads do their own message passing.  Good luck.

Reply via email to