Hello all,
I face a problem about load balancing with mpi to balance work in four
processors( 0,1,2,3)
Each processor I do the same method. After count how many calculation will
be done
on each processor, I firstly create new type of array by command
mpi_type_extent
and then mpi_type_struct . After that I use mpi_type_commit to set a new
type as
mixedarraytype. Then I use mpi_ibsend for sending processor and mpi_recv for
receiving processor. This seems to be correct but some how when I check the
results
from debugging my code need finish run the normal calculation of processor0
before
starting to sending or receiving. This makes computation time longer!
But whenever I restrict to send and receive only 28 sets of exchanging data,
my codes
run as they should do! Does anybody know the reason behind this odd
situation?
And how can I correct them? Please tell me.
Best regards,
Pattie
|