StaticMPI
Documentation for StaticMPI.
StaticMPI.MPI_Barrier
StaticMPI.MPI_Comm_rank
StaticMPI.MPI_Comm_size
StaticMPI.MPI_Finalize
StaticMPI.MPI_Init
StaticMPI.MPI_Irecv
StaticMPI.MPI_Isend
StaticMPI.MPI_Recv
StaticMPI.MPI_Send
StaticMPI.MPI_Wait
StaticMPI.MPI_Waitall
StaticMPI.MPI_Waitany
StaticMPI.MPI_Barrier
— MethodMPI_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
.
StaticMPI.MPI_Comm_rank
— MethodMPI_Comm_rank(comm)
Obtain the rank of the calling MPI task within the specified MPI communicator comm
StaticMPI.MPI_Comm_size
— MethodMPI_Comm_size(comm)
Obtain the number of tasks in the specified MPI communicator comm
.
StaticMPI.MPI_Finalize
— MethodMPI_Finalize()
Conclude the execution of the calling MPI task.
StaticMPI.MPI_Init
— MethodMPI_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
StaticMPI.MPI_Irecv
— MethodMPI_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
*
StaticMPI.MPI_Isend
— MethodMPI_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
*
StaticMPI.MPI_Recv
— MethodMPI_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
StaticMPI.MPI_Send
— MethodMPI_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
StaticMPI.MPI_Wait
— MethodMPI_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
StaticMPI.MPI_Waitall
— MethodMPI_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
StaticMPI.MPI_Waitany
— MethodMPI_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_requests
has been completed. The resulting
MPI_Statusobject for the first operation to complete will be stored in
status`.
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