Which of the following statements is not true ?

2014

Which of the following statements is not true ?

  1. A.

    MPI_Isend and MPI_Irecv are non-blocking message passing routines of MPI.

  2. B.

    MPI_Issend and MPI_Ibsend are non-blocking message passing routines of MPI.

  3. C.

    MPI_Send and MPI_Recv are non-blocking message passing routines of MPI.

  4. D.

    MPI_Ssend and MPI_Bsend are blocking message passing routines of MPI.

Attempted by 139 students.

Show answer & explanation

Correct answer: C

Answer: The statement "MPI_Send and MPI_Recv are non-blocking message passing routines of MPI." is not true.

Explanation:

  • MPI_Isend and MPI_Irecv: non-blocking (immediate) send and receive. They initiate the operation and return; use MPI_Wait or MPI_Test to ensure completion.

  • MPI_Issend and MPI_Ibsend: non-blocking immediate variants of synchronous and buffered sends respectively. They also require completion calls.

  • MPI_Send and MPI_Recv: standard blocking send and receive routines. MPI_Send does not guarantee immediate return until the library can safely reuse the send buffer (it may block until the message is copied or matched), and MPI_Recv blocks until the message is received.

  • MPI_Ssend and MPI_Bsend: blocking synchronous and buffered send variants. MPI_Ssend blocks until the matching receive starts; MPI_Bsend blocks until the message is copied into the provided buffer.

Tip: To overlap communication and computation, use the non-blocking variants (those starting with 'I') and then complete them with MPI_Wait, MPI_Waitall, MPI_Test, or similar functions.

Explore the full course: Nta Ugc Net Paper 2

Loading lesson…