- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear all,
I have written the following code:
REQUEST = MPI_REQUEST_NULL !send data share with left IF(MPIdata%rank.NE.0)THEN MsgLength = MPIdata%imaxN DO icount=1,MPIdata%imaxN iNode = MPIdata%nodeFromUp(icount) send_messageL(icount) = R1(iNode) ENDDO CALL MPI_ISEND(send_messageL, MsgLength, MPIdata%AUTO_COMP, MPIdata%rank-1, MPIdata%rank, MPI_COMM_WORLD, REQUEST(1), MPIdata%iErr) ENDIF ! !recive message FROM RIGHT CPU IF(MPIdata%rank.NE.MPIdata%nCPU-1)THEN MsgLength = MPIdata%imaxN CALL MPI_IRECV(recv_messageR, MsgLength, MPIdata%AUTO_COMP, MPIdata%rank+1, MPIdata%rank+1, MPI_COMM_WORLD, REQUEST(2), MPIdata%iErr) ENDIF CALL MPI_WAITALL(2,REQUEST,send_status_list,MPIdata%iErr) IF(MPIdata%rank.NE.MPIdata%nCPU-1)THEN DO i=1,MPIdata%imaxN iNode=MPIdata%nodeList2Up(i) R1(iNode)=recv_messageR(i) ENDDO ENDIF
The code works with fortran and OpenMPI. The same code does not work with intel MPI and I do not why. I get the following error:
Fatal error in MPI_Waitall: Invalid MPI_Request, error stack: MPI_Waitall(271): MPI_Waitall(count=3, req_array=0x7445f0, status_array=0x744600) failed MPI_Waitall(119): The supplied request in array element 2 was invalid (kind=0)
Can someone help me, please?
Thanks a lot
- Tags:
- Parallel Computing
Link Copied
0 Replies

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page