Boost MPI, error to get message

Dear All : I designed a master-worker framework with boost MPI, in which the master can schedulemultiple tasks (numTaskPerWorkerNode) to each worker and then collects results from workers. if the numTaskPerWorkerNode = 1, it works well. But, if numTaskPerWorkerNode > 1, the master cannot get the results from workers. But, the workers can get the tasks from master. why ? I have used different taskTag to distinguish the tasks, but still does not work. Any help is appreciated. Thanks, Jack July 4 2010 _________________________________________________________________ Hotmail has tools for the New Busy. Search, chat and e-mail from your inbox. http://www.windowslive.com/campaign/thenewbusy?ocid=PID28326::T:WLMTAGL:ON:W...

Hi Jack, On Jul 5, 2010, at 9:33 AM, Jack Bryan wrote:
I designed a master-worker framework with boost MPI
I suggest you rewrite your framework using native MPI calls and get it running correctly without Boost.MPI. Once you've got it running correctly using native MPI calls, then you'll be ready (and should find it quite easy) to port your framework to Boost.MPI. -- Noel

thanks for your advices. May I know why I cannot try boost MPI directly ? Any help is appreciated. Jack From: kbelco@sandia.gov To: boost-users@lists.boost.org Date: Mon, 5 Jul 2010 09:45:38 -0600 Subject: Re: [Boost-users] Boost MPI, error to get message Hi Jack, On Jul 5, 2010, at 9:33 AM, Jack Bryan wrote:I designed a master-worker framework with boost MPI I suggest you rewrite your framework using native MPI calls and get it running correctly without Boost.MPI. Once you've got it running correctly using native MPI calls, then you'll be ready (and should find it quite easy) to port your framework to Boost.MPI. -- Noel _________________________________________________________________ Hotmail is redefining busy with tools for the New Busy. Get more from your inbox. http://www.windowslive.com/campaign/thenewbusy?ocid=PID28326::T:WLMTAGL:ON:W...

Hi, Jack,
2010/7/6 Jack Bryan
May I know why I cannot try boost MPI directly ?
Boost.MPI is just a wrapper for various MPI implementations. If you cannot make your program using native MPI, you cannot make your program work with Boost.MPI. -- Ryo IGARASHI, Ph.D. rigarash@gmail.com

thanks Is it possible for my program working in native MPI, but not in Boost MPI ? Any help is appreciated. Jack
From: rigarash@gmail.com Date: Tue, 6 Jul 2010 09:03:03 +0900 To: boost-users@lists.boost.org Subject: Re: [Boost-users] Boost MPI, error to get message
Hi, Jack,
2010/7/6 Jack Bryan
: May I know why I cannot try boost MPI directly ?
Boost.MPI is just a wrapper for various MPI implementations. If you cannot make your program using native MPI, you cannot make your program work with Boost.MPI.
-- Ryo IGARASHI, Ph.D. rigarash@gmail.com _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
_________________________________________________________________ Hotmail is redefining busy with tools for the New Busy. Get more from your inbox. http://www.windowslive.com/campaign/thenewbusy?ocid=PID28326::T:WLMTAGL:ON:W...

Hi Jack On Jul 5, 2010, at 7:14 PM, Jack Bryan wrote:
Is it possible for my program [to] work in native MPI, but not in Boost MPI ?
Yes, this would imply a bug in Boost.MPI. But Boost.MPI is pretty well tested and is used by a number of people. That's why I suspect the problem may be in your framework code. Eliminating Boost.MPI from the equation should make it easier for you to uncover the source of the problem. -- Noel

Hi, Thanks for all your reply. I attached the code in the email. I downloaded : Rhapsodia.Schedulerfrom http://rhascheduler.sourceforge.net/because I need to do application program level task scheduling. In file "TaskPackSystem.hpp", I designed a task class "TaskPackage" to carry my defined task. Other classes in the file are not used. My main program is mpi_message_transfer.cpp, which can transfer tasks from master to workers and then collects results from them. Right now, I am testing 3 tasks (TOTALTASKNUM =3) and 2 workers (nodes). I use 3 nodes totally, another node is the master. node 0 : is master. node 1 : worker 1 assigned with task 1 and 3. node 2 : worker 2 assigned with task 2. Each task has a distinct tag, which is assigned by master before it is sent out to a worker. After receiving a task and doing its local work on the task, the worker uses the same tag ID to send it to master. The master use non-blocking world.recv(resultSourceRank, tagID, resultTaskPackage) to get the result task. You may need to download the Rhapsodia.Scheduler to get their header files. I attached the 4 files in the email. mpi_message_transfer.cppTaskPackSystem.hppBasicScheduler.hppSimpleScheduler.hpp Any help is appreciated. thanks Jack July 5 2010 From: kbelco@sandia.gov To: boost-users@lists.boost.org Date: Mon, 5 Jul 2010 21:21:35 -0600 Subject: Re: [Boost-users] Boost MPI, error to get message Hi Jack On Jul 5, 2010, at 7:14 PM, Jack Bryan wrote:Is it possible for my program [to] work in native MPI, but not in Boost MPI ? Yes, this would imply a bug in Boost.MPI. But Boost.MPI is pretty well tested and is used by a number of people. That's why I suspect the problem may be in your framework code. Eliminating Boost.MPI from the equation should make it easier for you to uncover the source of the problem. -- Noel _________________________________________________________________ The New Busy is not the too busy. Combine all your e-mail accounts with Hotmail. http://www.windowslive.com/campaign/thenewbusy?tile=multiaccount&ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_4

Hi, Thanks for all your reply. I attached the code in the email. I downloaded : Rhapsodia.Schedulerfrom http://rhascheduler.sourceforge.net/because I need to do application program level task scheduling. In file "TaskPackSystem.hpp", I designed a task class "TaskPackage" to carry my defined task. Other classes in the file are not used. My main program is mpi_message_transfer.cpp, which can transfer tasks from master to workers and then collects results from them. Right now, I am testing 3 tasks (TOTALTASKNUM =3) and 2 workers (nodes). I use 3 nodes totally, another node is the master. node 0 : is master. node 1 : worker 1 assigned with task 1 and 3. node 2 : worker 2 assigned with task 2. Each task has a distinct tag, which is assigned by master before it is sent out to a worker. After receiving a task and doing its local work on the task, the worker uses the same tag ID to send it to master. The master use non-blocking world.recv(resultSourceRank, tagID, resultTaskPackage) to get the result task. You may need to download the Rhapsodia.Scheduler to get their header files. I attached the 4 files in the email. mpi_message_transfer.cppTaskPackSystem.hppBasicScheduler.hppSimpleScheduler.hpp Any help is appreciated. thanks Jack July 5 2010
From: rigarash@gmail.com Date: Tue, 6 Jul 2010 09:03:03 +0900 To: boost-users@lists.boost.org Subject: Re: [Boost-users] Boost MPI, error to get message
Hi, Jack,
2010/7/6 Jack Bryan
: May I know why I cannot try boost MPI directly ?
Boost.MPI is just a wrapper for various MPI implementations. If you cannot make your program using native MPI, you cannot make your program work with Boost.MPI.
-- Ryo IGARASHI, Ph.D. rigarash@gmail.com _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
_________________________________________________________________ The New Busy is not the old busy. Search, chat and e-mail from your inbox. http://www.windowslive.com/campaign/thenewbusy?ocid=PID28326::T:WLMTAGL:ON:W...

On 6 Jul 2010, at 00:24, Jack Bryan wrote:
Hi,
Thanks for all your reply.
I attached the code in the email.
I downloaded : Rhapsodia.Scheduler from http://rhascheduler.sourceforge.net/ because I need to do application program level task scheduling.
In file "TaskPackSystem.hpp", I designed a task class "TaskPackage" to carry my defined task.
Other classes in the file are not used.
My main program is mpi_message_transfer.cpp, which can transfer tasks from master to workers and then collects results from them.
Right now, I am testing 3 tasks (TOTALTASKNUM =3) and 2 workers (nodes).
I use 3 nodes totally, another node is the master.
node 0 : is master.
node 1 : worker 1 assigned with task 1 and 3.
node 2 : worker 2 assigned with task 2.
Each task has a distinct tag, which is assigned by master before it is sent out to a worker.
After receiving a task and doing its local work on the task, the worker uses the same tag ID to send it to master.
The master use non-blocking world.recv(resultSourceRank, tagID, resultTaskPackage) to get the result task.
You may need to download the Rhapsodia.Scheduler to get their header files.
I attached the 4 files in the email.
mpi_message_transfer.cpp TaskPackSystem.hpp BasicScheduler.hpp SimpleScheduler.hpp
Hi Jack, it would help a lot if you could reduce this to a simpler example - for example I don't even know whether your problem is with the T1 or T2 tasks, or anything else. One immediate problem I see is that you never post a wait for recvReqsT2, and thus those receives will never happen. You will need to reduce this to a simpler problem, and it might also help if, as suggested before, you also try to use the native MPI API instead of Boost.MPI. Matthias Matthias
participants (4)
-
Belcourt, Kenneth
-
Jack Bryan
-
Matthias Troyer
-
Ryo IGARASHI