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.
|