Dear All,

I have a multithread-ed program and as a next step it is reconstructing to MPI 
program. The code is to be MPI / Multithread hybrid one.

The code proceeds MPI-routines as:

1. Send data by MPI_Isend with exlusive tag numbers to the other node. This is 
done in ONE master thread.
2. Receive the sent data by MPI_Irecv in several threads (usually the same as 
the number of CPU core) and do their jobs.

There is one main thread (main process) and one master thread and several 
working threads in the code. MPI_Isend is called in the master thread.
MPI_Irecv is called in the working threads.

My problem is MPI_Wait stalls after calling MPI_Isend. MPI_Wait is called just 
after MPI_Isend.  Several time the routines get through, but after sending 
several data MPI_Wait stalls.

Using Xcode debugger, the loop with c->c_signaled at line 70 of 
opal_conidition_wait (opal/threads/condition.h) never escape.

I guess I would make something wrong. I would like to know how to find the 
problem. 
I would be obliged if you’d point the solution or the next direction to be 
investigated for debugging.

My Environment : OSX 10.9.5, Apple LLVM 6.0 (LLVM 3.5svn), OpenMPI 1.10.0
The thread is wxThread from wxWidgets Library (3.0.2) which is a wrapper of 
pthread.

OpenMPI is configure-ed : --enable-mpi-thread-multiple --enable-debug 
--enable-event-debug
Please find the detail (config.log and ompi_info —all) attached in this mail.

Thank you very much in advance.

Sincerely,

ABE Hiroshi
 from Tokorozawa, JAPAN

Attachment: logs.tar.bz
Description: BZip2 compressed data

Reply via email to