Quiz

  1. Check all that apply: Which of the following are true statements about deadlock?

    Deadlock can never occur for a message that is buffered
    Deadlock can never occur on a non-blocking send completed by a wait
    Deadlock can never occur on a ready send

  2. A single message is being sent between two processes. After the receiver calls MPI_Irecv, which of these calls is inappropriate?

    A. MPI_Cancel
    B. MPI_Probe
    C. MPI_Test
    D. MPI_Wait

  3. Two MPI_Irecv calls are made specifying different buffers and tags, but the same sender and request location. How can one determine that the buffer specified in the first call has valid data?

    A. Call MPI_Probe
    B. Call MPI_Testany with the same request listed twice
    C. Call MPI_Wait twice with the same request
    D. Look at the data in the buffer and try to determine whether it is different from what was there before the MPI_Irecv was issued

  4. The size of an MPI_Status object is

    A. 1 byte
    B. 8 bytes
    C. not implementation dependent
    D. given by the constant MPI_STATUS_SIZE

  5. After a message has been received with MPI_Recv, one can determine how many elements were actually received:

    A. by calling MPI_Probe
    B. from the "count" argument of MPI_Recv
    C. from the declared size of the receive buffer
    D. by calling MPI_Get_count

  6. One of your processes is the "master" and farms out work to other processes. It posts an MPI_Irecv with MPI_ANY_TASK for completion messages and starts doing some work itself. What call should you make periodically to find out whether any processes have completed their work?

    A. MPI_Iprobe
    B. MPI_Probe
    C. MPI_Test
    D. MPI_Wait

  7. Which of the following is part of the MPI library?

    A. MPI_Iprobe
    B. MPI_Itest
    C. MPI_Iwait
    D. MPI_Uwait


If you would like an explanation of the correct answers to show up along with your score, select Yes in the box below:
Show Answers:

Name (required for Virtual Workshop Certificate):