StaticMPI

Documentation for StaticMPI.

StaticMPI.MPI_BarrierMethod
MPI_Barrier(comm::Mpich.MPI_Comm)

Wait (i.e., do not return) until all ranks of the communicator comm have called MPI_Barrier.

Returns MPI_SUCCESS on success.

See also: MPI_Wait, MPI_Waitall, MPI_Waitany.

source
StaticMPI.MPI_InitMethod
MPI_Init(argc::Int, argv::Ptr{Ptr{UInt8}})
MPI_Init()

Initialize the execution environment of the calling MPI task for single- threaded execution. The optional arguments argc and argv are the traditional argument count and argument value pointer variables passed to a compiled executable by the operating system.

Returns MPI_SUCCESS on success

source
StaticMPI.MPI_IrecvMethod
MPI_Irecv(buffer::Buffer{T}, source::Int, tag::Int, comm::MPI_Comm, request::Buffer{MPI_Request})
request = MPI_Irecv(buffer::Buffer{T}, source::Int, tag::Int, comm::MPI_Comm)

Receive length(buffer) elements of type T from rank source sent with tag tag over MPI communicator comm. Recived data is stored in buffer, with MPI_Request stored in request.

Returns immediately, even though buffer will not be updated until the message has been received (non-blocking receive). The status of the incoming message can later be checked using the resulting MPI_Request object.

Returns MPI_SUCCESS on success.

See also: MPI_Recv for blocking equivalent, MPI_Wait*

source
StaticMPI.MPI_IsendMethod
MPI_Isend(buffer::Buffer{T}, dest::Int, tag::Int, comm::MPI_Comm, request::Buffer{MPI_Request})
request = MPI_Isend(buffer::Buffer{T}, dest::Int, tag::Int, comm::MPI_Comm)

Send length(buffer) elements of type T to rank source with tag tag over MPI communicator comm, with resulting MPI_Request stored in request.

Returns immediately, regardless of whether the message has been received (non-blocking send). The status of the sent message can later be checked using the resulting MPI_Request object.

Returns MPI_SUCCESS on success.

See also: MPI_Send for blocking equivalent, MPI_Wait*

source
StaticMPI.MPI_RecvMethod
MPI_Recv(buffer::Buffer{T}, source::Int, tag::Int, comm::MPI_Comm, status::Buffer{MPI_Status})
status = MPI_Recv(buffer::Buffer{T}, source::Int, tag::Int, comm::MPI_Comm)

Receive length(buffer) elements of type T from rank source sent with tag tag over MPI communicator comm. Recived data is stored in buffer, with MPI_Status stored in status.

Does not return until the message has been received (blocking receive).

See also: MPI_Irecv for non-blocking equivalent

source
StaticMPI.MPI_SendMethod
MPI_Send(buffer::Buffer{T}, dest::Int, tag::Int, comm::MPI_Comm)

Send length(buffer) elements of type T to rank source with tag tag over MPI communicator comm.

Does not return until buffer can safely be reused, which may not be until the message has been received (blocking send).

Returns MPI_SUCCESS on success.

See also: MPI_Isend for non-blocking equivalent

source
StaticMPI.MPI_WaitMethod
MPI_Wait(request::MPI_Request, status::Buffer{MPI_Status})
status = MPI_Wait(request::MPI_Request)

Wait (i.e., do not return) until the operation corresponding to the MPI_request object request has been completed. The resulting MPI_Status objects will be stored in the buffer status

Returns MPI_SUCCESS on success.

See also: MPI_Isend, MPI_Irecv, C.f. MPI_Waitany, MPI_Waitall

source
StaticMPI.MPI_WaitallMethod
MPI_Waitall(array_of_requests::Buffer{MPI_Request}, [array_of_statuses::Buffer{MPI_Status}])

Wait (i.e., do not return) until the all of the operation scorresponding to the MPI_request objects in array_of_requests have been completed. The resulting MPI_Status objects will be stored in the corresponding positions of array_of_statuses.

Returns MPI_SUCCESS on success.

See also: MPI_Isend, MPI_Irecv, C.f. MPI_Wait, MPI_Waitany

source
StaticMPI.MPI_WaitanyMethod
MPI_Waitany(array_of_requests::Buffer{MPI_Request}, status::Buffer{MPI_Status})
status = MPI_Waitany(array_of_requests::Buffer{MPI_Request})

Wait (i.e., do not return) until the at least one of the operations corresponding to the MPI_request objects in array_of_requestshas been completed. The resultingMPI_Statusobject for the first operation to complete will be stored instatus`.

Returns the index of the request corresponding to the first operation to complete.

See also: MPI_Isend, MPI_Irecv, C.f. MPI_Wait, MPI_Waitall

source