MPI Ruby Home

MPI::Request

Description

A wrapper class around MPI requests

Methods

Informational Methods

MPI::Request#null?()

Returns true if the request is null.

C equivalent: request == MPI_REQUEST_NULL

Wait Methods

MPI::Request#wait()

Waits until the operation identified by the receiver request is complete. If the communication object associated with this request was created by a nonblocking send or receive call, then the request becomes null. Returns an MPI::Status object.

C equivalent: MPI_Wait()

MPI::Request.waitany(ary)

Waits until any of the operations identified by the requests in the array of requests ary is complete. If the communication object associated with this request was created by a nonblocking send or receive call, then the request becomes null. Returns an array of two elements containing the index of the completed request and an MPI::Status object, respectively.

C equivalent: MPI_Waitany()

MPI::Request.waitall(ary)

Waits until all of the operations identified by the requests in the array of requests ary are complete. If the communication object associated with any of these requests was created by a nonblocking send or receive call, then those requests become null. Returns an array of MPI::Status objects for each request in ary. The status of a request is at the same index in the return array as the request index in ary.

C equivalent: MPI_Waitall()

MPI::Request.waitsome(ary)

Waits until at least one of the operations identified by the requests in the array of requests ary are complete. If the communication object associated with any of these requests was created by a nonblocking send or receive call, then those requests become null. Returns an array of two elements containing an array of the completed requests and an array of MPI::Status objects for each completed request, respectively. The status of a request is at the same index in the return status array as the request index in the return request array.

C equivalent: MPI_Waitsome()

Test Methods

MPI::Request#test()

Tests if the operation identified by request is complete. If the communication object associated with this request was created by a nonblocking send or receive call, then the request becomes null. Returns an array of two elements containing a flag (true or false, as the result of the test), and an MPI::Status object, respectively. The status object should be ignored if the flag is false.

C equivalent: MPI_Test()

MPI::Request.testany(ary)

Tests if any of the operations identified by the requests in the array of requests ary is complete. If the communication object associated with this request was created by a nonblocking send or receive call, then the request becomes null. Returns an array of three elements containing a flag (true or false, depending on whether any of the requests were completed), the index of the completed request, and an MPI::Status object, respectively. The last two array elements should be ignored if the flag is false.

C equivalent: MPI_Testany()

MPI::Request.testall(ary)

Tests if all of the operations identified by the requests in the array of requests ary are complete. If the communication object associated with any of these requests was created by a nonblocking send or receive call, then those requests become null. Returns an array of two elements containing a flag (true or false, depending on whether all of the requests were completed) and an array of MPI::Status objects for each request in ary, respectively. The status of a request is at the same index in the return array as the request index in ary. The status array should be ignored if the flag is false.

C equivalent: MPI_Testall()

MPI::Request.testsome(ary)

Equivalent to MPI::Request#waitsome(ary) except that MPI::Request#testsome(ary) does not block.

C equivalent: MPI_Testsome()

Initiation and Cancellation

MPI::Request#cancel()

Cancels the request. Returns true.

C equivalent: MPI_Cancel()

MPI::Request#start()

Starts a request. Returns true.

C equivalent: MPI_Start()

MPI::Request.startall(ary)

Starts all the requests in the array of requests ary. Returns true.

C equivalent: MPI_Startall()

Accessors

MPI::Request#object

Returns the object associated with the request.

C equivalent: Accessing the buffer given in the creation of the request.







Contact Emil Ong about issues concerning this page.