"Isend" "Irecv" cannot get correct answer

Issue #64 resolved
Paul Yang created an issue

Hi, I am using Isend and Irecv and the received result is not equal to the transmitted one.

k=7
size_batch=400
buff = np.zeros((k,size_batch))
if rank ==0:
          state = MPI.Status()
          okay=comm.Iprobe(source=MPI.ANY_SOURCE,tag=MPI.ANY_TAG,status=state)
          if okay:
              j = state.Get_source()
              a=comm.Irecv(buff,source=j,tag=j)
else:
         local_result # is   k x size_batch    numpy array
         comm.Isend(local_result,dest=0,tag=rank)

Comments (5)

  1. Lisandro Dalcin

    Your code is not complete. What are you using to initialize local_result? How many processes are you using to execute the script? Your code, as written, has to be run in exactly two MPI processes. What MPI implementation and version are you using?

    PS: Sorry for the late answer. I was somehow unsubscribed to issue notifications for this repo.

  2. Log in to comment