Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
1
MPIMPIMPIMPI----RoutinesRoutinesRoutinesRoutines (Fortran Binding) (Fortran Binding) (Fortran Binding) (Fortran Binding)
A.A.A.A. General remarks:General remarks:General remarks:General remarks:
A well written text about MPI and its practical usage can be found in:
“Introduction to MPI – created by the PACS Training Group All rights reserved.
NCSA Access ©2001 Board of Trustees of the University of Illinois”
N:\Group\Physik\p0kurs\CT-III\Literatur\MPI\Introduction_to_mpi.pdf
A selection of tutorials is given under:
Tutorial Material on MPI
(http://www-unix.mcs.anl.gov/mpi/tutorial/)
Some basic definitions:
• The following datatypes are supported within the Fortran Binding:
1. Integer: MPI_INTEGER
2. Floating Point: MPI_DOUBLE_PRECISION, MPI_REAL
3. Logical: MPI_LOGICAL
4. Complex: MPI_COMPLEX, MPI_DOUBLE_COMPLEX
5. Byte: MPI_BYTE
• MPI Operators in MPI-Reduce are as follows:
MPI Operator Operation
----------------------------------------------
MPI_MAX maximum
MPI_MIN minimum
MPI_SUM sum
MPI_PROD product
MPI_LAND logical and
MPI_BAND bitwise and
MPI_LOR logical or
MPI_BOR bitwise or
MPI_LXOR logical exclusive or
MPI_BXOR bitwise exclusive or
MPI_MAXLOC max value and location
MPI_MINLOC min value and location
2
B.B.B.B. Description ofDescription ofDescription ofDescription of Fortran routines Fortran routines Fortran routines Fortran routines in mor in mor in mor in more detaile detaile detaile detail::::
MMMMPI_AbortPI_AbortPI_AbortPI_Abort (com (com (com (comm, errorcode, ierror) m, errorcode, ierror) m, errorcode, ierror) m, errorcode, ierror)
integer comm, errorcode, ierror
Terminates MPI execution environment
MPI_Address (1ocation, addMPI_Address (1ocation, addMPI_Address (1ocation, addMPI_Address (1ocation, address, ierror) ress, ierror) ress, ierror) ress, ierror)
(type> location
integer address, ierror
Gets the address of a location in memory.
Deprecated: Use MPI_Cet_address instead.
MMMMPI_A11gathPI_A11gathPI_A11gathPI_A11gatheeeerrrr ((((sesesesendbuf, ndbuf, ndbuf, ndbuf, sesesesendcount, ndcount, ndcount, ndcount, ssssendtypc, rendtypc, rendtypc, rendtypc, reeeecvbuf, rcvbuf, rcvbuf, rcvbuf, reeeecvcount,cvcount,cvcount,cvcount,
recvtype, comm, ierror)recvtype, comm, ierror)recvtype, comm, ierror)recvtype, comm, ierror)
<type> sendbuf(*), recvbuf(*)
integer sendcount, sendtype, recvcount, recvtype, comm, ierror
Gathers data from all tasks and deliver it to all.
MPI_AMPI_AMPI_AMPI_A11gatherv11gatherv11gatherv11gatherv (sendbu(sendbu(sendbu(sendbuffff, sendcount, sendtype, recvbuf, recvcounts, , sendcount, sendtype, recvbuf, recvcounts, , sendcount, sendtype, recvbuf, recvcounts, , sendcount, sendtype, recvbuf, recvcounts,
dispdispdispdisplllls, recvtype, comm, ierror)s, recvtype, comm, ierror)s, recvtype, comm, ierror)s, recvtype, comm, ierror)
<type> sendbuf(*), recvbuf(*)
integer sendcount, sendtype, recvcounts(*) ‚ displs(*), recvtype, comm, ierror
Gathers data from all tasks and deliver it to all.
MPI_A11reduceMPI_A11reduceMPI_A11reduceMPI_A11reduce (sendbuf, rec(sendbuf, rec(sendbuf, rec(sendbuf, recvbuf, vbuf, vbuf, vbuf, countcountcountcount, , , , datatype, op, comm, idatatype, op, comm, idatatype, op, comm, idatatype, op, comm, ierror) error) error) error)
<type> sendbuf(*), recvbuf(*)
integer count, datatype, op, comm, ierror
Combines values from all processes and distribute the result back to all
processes.
3
MP_AIltoall (sendbMP_AIltoall (sendbMP_AIltoall (sendbMP_AIltoall (sendbuf, sendcount, sendtype, recvbuf, recvcounuf, sendcount, sendtype, recvbuf, recvcounuf, sendcount, sendtype, recvbuf, recvcounuf, sendcount, sendtype, recvbuf, recvcount,t,t,t,
recvtype, commrecvtype, commrecvtype, commrecvtype, comm, ierror) , ierror) , ierror) , ierror)
<type> sendbuf(*), recvbuf(*)
integer sendcount, sendtype, recvcount, recvtype, comm, ierror
Sends data from all to all process.
MMMMPI_AlltoallvPI_AlltoallvPI_AlltoallvPI_Alltoallv (sendbuf, sen(sendbuf, sen(sendbuf, sen(sendbuf, sendcounts, sdispls, sendtype, dcounts, sdispls, sendtype, dcounts, sdispls, sendtype, dcounts, sdispls, sendtype, recvrecvrecvrecvbuf,buf,buf,buf,
recvcounts, rdispls, recvtype, comm, ierror)recvcounts, rdispls, recvtype, comm, ierror)recvcounts, rdispls, recvtype, comm, ierror)recvcounts, rdispls, recvtype, comm, ierror)
type> sendbuf(*), recvbuf(*)
integer sendcounts(*), sdispls(*), sendtype, recvcounts(*), rdisp1s(*),
recvtype, comm, ierror
Sends data from all to all processes, with a displacement.
MMMMPI_Attr_deletePI_Attr_deletePI_Attr_deletePI_Attr_delete (c (c (c (comm, keyval, iomm, keyval, iomm, keyval, iomm, keyval, ierror) error) error) error)
integer comm, keyval, ierror
Deletes attribute value associated with a key.
Deprecated. Use MPI_Comm_delete_attr instead.
MMMMPI_Attr_getPI_Attr_getPI_Attr_getPI_Attr_get (comm, keyval, attribute_val, flag, ierror)(comm, keyval, attribute_val, flag, ierror)(comm, keyval, attribute_val, flag, ierror)(comm, keyval, attribute_val, flag, ierror)
integer comm, keyval, attribute_val, ierror
logical flag
Retrieves attribute value by key.
Deprecated: Use MPI_Comm_get_attr instead.
MPIMPIMPIMPI_Attr_put_Attr_put_Attr_put_Attr_put (comm, keyval, attribute_ (comm, keyval, attribute_ (comm, keyval, attribute_ (comm, keyval, attribute_val, ierror) val, ierror) val, ierror) val, ierror)
integer comm, keyval, attribute_val, ierror
Stores attribute value associated with a key.
Deprecated: Use MPI_Comm_set_attr instead.
4
MPI_Barrier (comm, ierror) MPI_Barrier (comm, ierror) MPI_Barrier (comm, ierror) MPI_Barrier (comm, ierror)
integer comm, ierror
Blocks until all proccesses have reached this routine.
MPIMPIMPIMPI_Bcast(buffer, count, datatype, root, comm, ierror) _Bcast(buffer, count, datatype, root, comm, ierror) _Bcast(buffer, count, datatype, root, comm, ierror) _Bcast(buffer, count, datatype, root, comm, ierror)
<type> buffer(*)
integer count, datatype, root, comm, ierror
Broadcasts a message from the process with rank "root' to all other processes
of the group.
MMMMPI_BsendPI_BsendPI_BsendPI_Bsend (buf, count, datatype, dest, tag, comm, ierror)(buf, count, datatype, dest, tag, comm, ierror)(buf, count, datatype, dest, tag, comm, ierror)(buf, count, datatype, dest, tag, comm, ierror)
<type> buf(*)
integer count, datatype, dest, tag, comm, ierror
Basic send with user-specified buffering.
MMMMPI_Bsend_iniPI_Bsend_iniPI_Bsend_iniPI_Bsend_initttt (buf, count, datatype, dest, tag, comm, request,(buf, count, datatype, dest, tag, comm, request,(buf, count, datatype, dest, tag, comm, request,(buf, count, datatype, dest, tag, comm, request, ierror)ierror)ierror)ierror)
<type> buf(*)
integer count, datatype, dest, tag, comm, request, ierror
Builds a handle for a buffered send.
MPMPMPMP_Buffer_attach_Buffer_attach_Buffer_attach_Buffer_attach (b (b (b (buffer, size, ierror) uffer, size, ierror) uffer, size, ierror) uffer, size, ierror)
<type> buffer(*)
integer size, ierror
Attaches a user-defined buffer for sending.
MPI_Buffer_deMPI_Buffer_deMPI_Buffer_deMPI_Buffer_detachtachtachtach (buff(buff(buff(buffeeeer, size, irror)r, size, irror)r, size, irror)r, size, irror)
<type> buffer(*)
integer size, ierror
Removes an existing buffer (for use in MPI_Bsend, etc.)
5
MPIMPIMPIMPI_Cancel (request, ierror)_Cancel (request, ierror)_Cancel (request, ierror)_Cancel (request, ierror)
integer request, ierror
Cancels a communication request.
MPIMPIMPIMPI_Cart_coords_Cart_coords_Cart_coords_Cart_coords (comm, rank, maxdims, coords, ierror(comm, rank, maxdims, coords, ierror(comm, rank, maxdims, coords, ierror(comm, rank, maxdims, coords, ierror)
integer comm, rank, maxdims, coords(*), ierror
Determines process coords in Cartesian topology, given rank in group.
MPIMPIMPIMPI_Cart_create_Cart_create_Cart_create_Cart_create (comm_old, ndim(comm_old, ndim(comm_old, ndim(comm_old, ndims, dims, periods, reorder, comms, dims, periods, reorder, comms, dims, periods, reorder, comms, dims, periods, reorder, comm_cart, _cart, _cart, _cart,
iiiierror)error)error)error)
integer comm_old, ndims, dims(*), comm_cart, ierrar
logical periods(*), reorder
Makes a new communicator to which topology information has been
attached.
MPIMPIMPIMPI_Cart_get_Cart_get_Cart_get_Cart_get (comm, maxdim (comm, maxdim (comm, maxdim (comm, maxdims, dims, periods, coords, ierror)s, dims, periods, coords, ierror)s, dims, periods, coords, ierror)s, dims, periods, coords, ierror)
Integer comm, maxdims, dims(*), coords(*), ierror
logical periods (*)
Retrieves Cartesian topology information associated with a communicator
MPIMPIMPIMPI_Cart_map_Cart_map_Cart_map_Cart_map (comm, ndims, dim (comm, ndims, dim (comm, ndims, dim (comm, ndims, dims, periods, newrank, ierror)s, periods, newrank, ierror)s, periods, newrank, ierror)s, periods, newrank, ierror)
integer comm, ndims, dims(*), newrank, ierror
logical periods(*)
Maps process to Cartesian topology information.
MPIMPIMPIMPI_Cart_rank_Cart_rank_Cart_rank_Cart_rank (comm (comm (comm (comm, coords, rank, ierror), coords, rank, ierror), coords, rank, ierror), coords, rank, ierror)
integer comm, coords(*), rank, ierror
Determines process rank in communicator, given Cartesian location.
6
MPIMPIMPIMPI_Cart_shift_Cart_shift_Cart_shift_Cart_shift (comm (comm (comm (comm, direction, disp, rank_source, rank_dest, , direction, disp, rank_source, rank_dest, , direction, disp, rank_source, rank_dest, , direction, disp, rank_source, rank_dest,
iiiierror)error)error)error)
integer comm, direction, disp, rank_source, rank_dest, ierror
Returns the shifted source and destination ranks given a shift direction and
amount.
MPI_Cart_MPI_Cart_MPI_Cart_MPI_Cart_subsubsubsub (comm, remain_dims, newcomm, ierror) (comm, remain_dims, newcomm, ierror) (comm, remain_dims, newcomm, ierror) (comm, remain_dims, newcomm, ierror)
integer comm, newcomm, ierror
logical remain_dims(*)
Partitions a communicator into subgroups that form lower-dimensional
Cartesian subgrids.
MPI_Cartdim_get(comm, ndims, ierror)MPI_Cartdim_get(comm, ndims, ierror)MPI_Cartdim_get(comm, ndims, ierror)MPI_Cartdim_get(comm, ndims, ierror)
integer comm, ndims, ierror
Retrieves Cartesian topology information associated with a communicator.
MPI_Comm_compareMPI_Comm_compareMPI_Comm_compareMPI_Comm_compare (comm(comm(comm(comm1111, comm2, result, ierror) , comm2, result, ierror) , comm2, result, ierror) , comm2, result, ierror)
integer comm1, comm2, ierror
Compares two communicators.
MPI_Comm_createMPI_Comm_createMPI_Comm_createMPI_Comm_create (comm, group, newcomm, ierror)(comm, group, newcomm, ierror)(comm, group, newcomm, ierror)(comm, group, newcomm, ierror)
integer comm, group, newcomm, ierror
Creates a new communicator.
MPI_Comm_create_errhandlerMPI_Comm_create_errhandlerMPI_Comm_create_errhandlerMPI_Comm_create_errhandler (function, errhandler, ierror) (function, errhandler, ierror) (function, errhandler, ierror) (function, errhandler, ierror)
external function
integer errhandler, ierror
MPI-2: Creates an MPI-style error handler.
7
MPI_Comm_create_keyvalMPI_Comm_create_keyvalMPI_Comm_create_keyvalMPI_Comm_create_keyval (copy_fn, delete_fn, keyval, extra_state,(copy_fn, delete_fn, keyval, extra_state,(copy_fn, delete_fn, keyval, extra_state,(copy_fn, delete_fn, keyval, extra_state, ierror)ierror)ierror)ierror)
external copy_fn, delete_fn
integer keyval, ierror
integer (kind=MPI_ADDRESS_KIND) extra_state
MPI-2: Generates a new attribute key.
MPI_Comm_delete_attrMPI_Comm_delete_attrMPI_Comm_delete_attrMPI_Comm_delete_attr (comm, keyval, ierror) (comm, keyval, ierror) (comm, keyval, ierror) (comm, keyval, ierror)
integer comm, keyval, ierror
MPI-2: Deletes attribute value associated with a key.
MPI_Comm_dupMPI_Comm_dupMPI_Comm_dupMPI_Comm_dup (comm, newcomm, ierror)(comm, newcomm, ierror)(comm, newcomm, ierror)(comm, newcomm, ierror)
integer comm, newcomm, ierror
Duplicates an existing communicator with all its cached information.
MPI_ComMPI_ComMPI_ComMPI_Comm_free (comm, ierror) m_free (comm, ierror) m_free (comm, ierror) m_free (comm, ierror)
integer comm, ierror
Marks the communicator object for deallocation.
MPI_Comm_free_keyvalMPI_Comm_free_keyvalMPI_Comm_free_keyvalMPI_Comm_free_keyval (keyval, ierror)(keyval, ierror)(keyval, ierror)(keyval, ierror)
integer keyval, ierror
MPI-2: Frees an attribute key for communicator cache attribute
MPIMPIMPIMPI____Comin_get_attrComin_get_attrComin_get_attrComin_get_attr (com (com (com (comm, keyval, attributem, keyval, attributem, keyval, attributem, keyval, attribute____val, flag, ierror) val, flag, ierror) val, flag, ierror) val, flag, ierror)
integer comm, keyval, ierror
integer (kind=MPI_ADDRESS_KIND) attribute_val
logical flag
MPI-2: Retrieves attribute value by key.
MPI_ComMPI_ComMPI_ComMPI_Comm_gm_gm_gm_get_errhand1er (comm, eet_errhand1er (comm, eet_errhand1er (comm, eet_errhand1er (comm, errhandler, ierror)rrhandler, ierror)rrhandler, ierror)rrhandler, ierror)
integer comm, errhandler, ierror
MPI-2: Gets the error handler for a communicator.
8
MPI_Comm_groupMPI_Comm_groupMPI_Comm_groupMPI_Comm_group (comm, group, ierror)(comm, group, ierror)(comm, group, ierror)(comm, group, ierror)
integer comm, group, ierror
Accesses the group associated with given communicator.
MPI_Comm_rankMPI_Comm_rankMPI_Comm_rankMPI_Comm_rank (com(com(com(comm, rank, ierror)m, rank, ierror)m, rank, ierror)m, rank, ierror)
integer comm, rank. ierror
Determines the rank of the calling process in the communicator.
MMMMPI_Comm_remote_groupPI_Comm_remote_groupPI_Comm_remote_groupPI_Comm_remote_group (comm,group, ierror)(comm,group, ierror)(comm,group, ierror)(comm,group, ierror)
integer comm, group, ierror
Returns the remote group in an intercommunicator.
MMMMPI_Comm_remote_sizePI_Comm_remote_sizePI_Comm_remote_sizePI_Comm_remote_size (comm (comm (comm (comm, size, ierror), size, ierror), size, ierror), size, ierror)
integer comm, size, ierror
Returns the number of processes in the remote group
MPIMPIMPIMPI_Comm_set_attr_Comm_set_attr_Comm_set_attr_Comm_set_attr (comm, keyval, attribute_val, ierror)(comm, keyval, attribute_val, ierror)(comm, keyval, attribute_val, ierror)(comm, keyval, attribute_val, ierror)
integer comm, keyva1, ierror
integer (kind=MPI_ADDRESS_KIND) attribute_val
MPI-2: Stores attribute value associated with a key.
MPI_Comm_set_errhMPI_Comm_set_errhMPI_Comm_set_errhMPI_Comm_set_errhandler (comandler (comandler (comandler (comm, errhandler, ierror) m, errhandler, ierror) m, errhandler, ierror) m, errhandler, ierror)
integer comm, errhandler, ierror
MPI-2: Sets the error handler for a communicator.
MMMMPI_ComPI_ComPI_ComPI_Comm_sizem_sizem_sizem_size (comm, size, ierror)(comm, size, ierror)(comm, size, ierror)(comm, size, ierror)
integer comm, size, ierror
Determines the size of the group associated with a communicator.
9
MPIMPIMPIMPI.,.,.,.,CommCommCommComm_split_split_split_split (comm, color, key, newcomm, ierror)(comm, color, key, newcomm, ierror)(comm, color, key, newcomm, ierror)(comm, color, key, newcomm, ierror)
integer comm, color, key, newcomm, ierror
Creates new communicators based on colors and keys
MMMMPI_Comm_test_interPI_Comm_test_interPI_Comm_test_interPI_Comm_test_inter (comm, flag, ierror) (comm, flag, ierror) (comm, flag, ierror) (comm, flag, ierror)
integer comm, ierror
logical flag
Tests to see whether a communicator is an intercommunicator.
MPI_Dims_createMPI_Dims_createMPI_Dims_createMPI_Dims_create (nnodes, ndims, dims, ierror) (nnodes, ndims, dims, ierror) (nnodes, ndims, dims, ierror) (nnodes, ndims, dims, ierror)
integer nnodes, ndims, dims(*), ierror
Creates a division of processes in a Cartesian grid.
MPI_Errhandler_create (function, errhandler, ierror) MPI_Errhandler_create (function, errhandler, ierror) MPI_Errhandler_create (function, errhandler, ierror) MPI_Errhandler_create (function, errhandler, ierror)
external function
integer errhandler, ierror
Creates an MPI-style error handler.
Deprecated. Use MPI Comm_create_errhandler instead.
MPI_Errhandler_freeMPI_Errhandler_freeMPI_Errhandler_freeMPI_Errhandler_free (errhandler, ierror)(errhandler, ierror)(errhandler, ierror)(errhandler, ierror)
integer errhandler, ierror
Frees an MPI-style error handler.
MPI_Errhandler_getMPI_Errhandler_getMPI_Errhandler_getMPI_Errhandler_get (comm, errhandler, ierror) (comm, errhandler, ierror) (comm, errhandler, ierror) (comm, errhandler, ierror)
integer comm, errhandler, ierror
Gets the error handler for a communicator.
Deprecated. Use MPI_Comm_get_errhandler instead.
MPI_Errhandler_setMPI_Errhandler_setMPI_Errhandler_setMPI_Errhandler_set (comm, errhandler, ierror) (comm, errhandler, ierror) (comm, errhandler, ierror) (comm, errhandler, ierror)
integer comm, errhandler, ierror
Sets the error handler for a communicator.
Deprecated. Use MPI_Comm_set_errhandler instead.
10
MPI_Error_classMPI_Error_classMPI_Error_classMPI_Error_class (errorcode, errorclass, ierror) (errorcode, errorclass, ierror) (errorcode, errorclass, ierror) (errorcode, errorclass, ierror)
integer errorcode, errorclass, ierror
Converts an error code into an error class.
MPI_Error_stringMPI_Error_stringMPI_Error_stringMPI_Error_string (errorcode, string, resultlen, ierror) (errorcode, string, resultlen, ierror) (errorcode, string, resultlen, ierror) (errorcode, string, resultlen, ierror)
integer errorcode, resultlen, ierror
character*(MPI_MAX_ERROR_STRING) string
Returns a string for a given error code.
MPI_FinalizeMPI_FinalizeMPI_FinalizeMPI_Finalize (ierror) (ierror) (ierror) (ierror)
integer ierror
Terminates MPI execution environment.
MPI_Gather MPI_Gather MPI_Gather MPI_Gather (sendbuf(sendbuf(sendbuf(sendbuf, sendcou, sendcou, sendcou, sendcount, sendtype, recvbuf, recvcount, recvtype, root, nt, sendtype, recvbuf, recvcount, recvtype, root, nt, sendtype, recvbuf, recvcount, recvtype, root, nt, sendtype, recvbuf, recvcount, recvtype, root,
comm, ierror)comm, ierror)comm, ierror)comm, ierror)
<type> sendbuf(*), recvbuf(*)
integer sendcount, sendtype, recvcount, recvtype, root, comm, ierror
Gathers toqether values from a group of tasks.
MPIMPIMPIMPI_Gatherv_Gatherv_Gatherv_Gatherv (sendbuf, sendcount, sendtype, recvbuf, recvcounts, displ (sendbuf, sendcount, sendtype, recvbuf, recvcounts, displ (sendbuf, sendcount, sendtype, recvbuf, recvcounts, displ (sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, s, s, s,
recvtype, root, comm, ierror)recvtype, root, comm, ierror)recvtype, root, comm, ierror)recvtype, root, comm, ierror)
<type>endbuf(*), recvbuf(*)
integer sendcount, sendtype, recvcounts(*), displs(*), recvtype, root, comm,
ierror
Gathers into specified locations from all tasks in a qroup.
MMMMPI_PI_PI_PI_Get_address (1ocation, address, iGet_address (1ocation, address, iGet_address (1ocation, address, iGet_address (1ocation, address, ierror) error) error) error)
<type> location(*)
integer (kindMFI_ADDRESSKIND) address
integer ierror
MPI-2: Gets the address of a location in memory.
11
MPI_Get_countMPI_Get_countMPI_Get_countMPI_Get_count (status, datatype, count, ierror) (status, datatype, count, ierror) (status, datatype, count, ierror) (status, datatype, count, ierror)
integer status(*), datatype, count, ierror
Gets the number of top level elements.
MPI_Get_elements (status, datatype, elements, ieMPI_Get_elements (status, datatype, elements, ieMPI_Get_elements (status, datatype, elements, ieMPI_Get_elements (status, datatype, elements, ierror) rror) rror) rror)
integer stacus(*), datatype, elements, ierror
Returns the number of basic elements in a datatype.
MPI_GetMPI_GetMPI_GetMPI_Get........processor_nameprocessor_nameprocessor_nameprocessor_name (nam (nam (nam (name, resultlen, ierror) e, resultlen, ierror) e, resultlen, ierror) e, resultlen, ierror)
character* (MPI_MAX_PROCESSOR_NAME) name
integer resultlen, ierror
Gets the name of the processor.
MPI_Get_versionMPI_Get_versionMPI_Get_versionMPI_Get_version (version, subversion, ierror) (version, subversion, ierror) (version, subversion, ierror) (version, subversion, ierror)
integer version, subversion, ierror
Return the version of MPI.
MMMMPI_Graph_createPI_Graph_createPI_Graph_createPI_Graph_create (comm_old, nnodes, index, edges, reorder, (comm_old, nnodes, index, edges, reorder, (comm_old, nnodes, index, edges, reorder, (comm_old, nnodes, index, edges, reorder,
comm_graph, ierror)comm_graph, ierror)comm_graph, ierror)comm_graph, ierror)
integer comm_old, nnodes, index(*), edges(*), comm_graph, ierror
logical reorder
Makes a new communicator to which topology information has been attached.
MMMMPI_Graph_getPI_Graph_getPI_Graph_getPI_Graph_get (com (com (com (comm, maxindex, maxedges, index, edges, ierror) m, maxindex, maxedges, index, edges, ierror) m, maxindex, maxedges, index, edges, ierror) m, maxindex, maxedges, index, edges, ierror)
integer comm, rnaxindex, maxedges, index(*), edges(*), ierror
Retrieves graph topology information associated with a communicator.
MPI_Graph_mMPI_Graph_mMPI_Graph_mMPI_Graph_mapapapap (comm, nnodes, index, edges, newrank, ierror) (comm, nnodes, index, edges, newrank, ierror) (comm, nnodes, index, edges, newrank, ierror) (comm, nnodes, index, edges, newrank, ierror)
integer comm, nnodes, index(*), edges(*), newrank, ierror
Maps process to graph topology information.
12
MPI_Graph_neiMPI_Graph_neiMPI_Graph_neiMPI_Graph_neighborghborghborghbors_count (comm, rank, nneighbs_count (comm, rank, nneighbs_count (comm, rank, nneighbs_count (comm, rank, nneighbororororssss,i,i,i,ierroerroerroerror)r)r)r)
integer comm, rank, nneighbors, ierror
Returns the number of neighbors of a node associated with a graph topology.
MPI_Graph_neighborsMPI_Graph_neighborsMPI_Graph_neighborsMPI_Graph_neighbors (com(com(com(comm, rank, maxneighbors, neighbors, m, rank, maxneighbors, neighbors, m, rank, maxneighbors, neighbors, m, rank, maxneighbors, neighbors,
ierror) ierror) ierror) ierror)
integer comm, rank, maxneighbors, neighbors(*), ierror
Returns the neiqhbors of a node associated with a graph topology.
MPI_GraphdimMPI_GraphdimMPI_GraphdimMPI_Graphdims_Gets_Gets_Gets_Get (comm (comm (comm (comm, nn, nn, nn, nnodes, nedges, iodes, nedges, iodes, nedges, iodes, nedges, ierror) error) error) error)
integer comm, nnodes, nedges, ierror
Retrieves graph topology information associated with a communicator.
MMMMP1_Group_compareP1_Group_compareP1_Group_compareP1_Group_compare (group1(group1(group1(group1, group2, result, ierror, group2, result, ierror, group2, result, ierror, group2, result, ierror) ) ) )
integer group1, group2, result, ierror
Compare two groups.
MMMMPI_Group_differencePI_Group_differencePI_Group_differencePI_Group_difference (group1 (group1 (group1 (group1, group2, newgroup, ierror) , group2, newgroup, ierror) , group2, newgroup, ierror) , group2, newgroup, ierror)
integer group1, group2, newgroup, ierror
Makes a group from the difference of two groups.
MMMMPI_Group_exc1PI_Group_exc1PI_Group_exc1PI_Group_exc1 (group, n, ran(group, n, ran(group, n, ran(group, n, ranks, newgroup, iks, newgroup, iks, newgroup, iks, newgroup, ieeeerror)rror)rror)rror)
integer group, n, ranks(*), newgroup, ierror
Produces a group by reordering an existing group and taking only unlisted
members.
MMMMPIPIPIPI____GroupGroupGroupGroup____free (group, ierror)free (group, ierror)free (group, ierror)free (group, ierror)
integer group, ierror
Frees a group.
13
MMMMPI_Group_inc1PI_Group_inc1PI_Group_inc1PI_Group_inc1 (group, n, ranks, newgroup, i (group, n, ranks, newgroup, i (group, n, ranks, newgroup, i (group, n, ranks, newgroup, ierror) error) error) error)
integer group, n, ranks(*), newgroup, ierror
Produces a group by reordering an existing group and taking only listed
members.
MMMMPI_Group_intersectionPI_Group_intersectionPI_Group_intersectionPI_Group_intersection (group1, group2, newgroup, ierror) (group1, group2, newgroup, ierror) (group1, group2, newgroup, ierror) (group1, group2, newgroup, ierror)
integer group1, group2, newgroup, ierror
Produces a group as the intersection of two existing groups.
MPI_GroupMPI_GroupMPI_GroupMPI_Group____range_exclrange_exclrange_exclrange_excl (group, n, ranges, newgroup, ierror) (group, n, ranges, newgroup, ierror) (group, n, ranges, newgroup, ierror) (group, n, ranges, newgroup, ierror)
integer group, n, ranges(3,*), newgroup, ierror
Produces a group by excluding ranges of processes from an existing
group.
MPI_GMPI_GMPI_GMPI_Grouprouprouproup____range_incIrange_incIrange_incIrange_incI (group,(group,(group,(group, n, r n, r n, r n, ranges,anges,anges,anges, newgroup, ierror) newgroup, ierror) newgroup, ierror) newgroup, ierror)
integer group, n, ranges(3,*), newgroup, ierror
Creates a new group from ranges of ranks in an existing group.
MMMMPI_Group_rankPI_Group_rankPI_Group_rankPI_Group_rank (group, rank, ierror) (group, rank, ierror) (group, rank, ierror) (group, rank, ierror)
integer group, rank, ierror
Returns the rank of this process in the given group.
MPI_MPI_MPI_MPI_Group_sizeGroup_sizeGroup_sizeGroup_size (group, size, ier (group, size, ier (group, size, ier (group, size, ierror) ror) ror) ror)
integer group, size, ierror
Returns the size of a group.
MPI_Group_tran1ate_ranks (group1, n, ranksMPI_Group_tran1ate_ranks (group1, n, ranksMPI_Group_tran1ate_ranks (group1, n, ranksMPI_Group_tran1ate_ranks (group1, n, ranks1111, group2, ranks2, ierror, group2, ranks2, ierror, group2, ranks2, ierror, group2, ranks2, ierror))))
integer group1, n, ranks1(*), group2, ranks2(*), ierror
Translates the ranks of processes in one group to those in another group.
14
MMMMPI_Group_unionPI_Group_unionPI_Group_unionPI_Group_union (group1, group2, newgroup, ierror) (group1, group2, newgroup, ierror) (group1, group2, newgroup, ierror) (group1, group2, newgroup, ierror)
integer group1, group2, newgroup, ierror
Produces a group by combining two groups.
MMMMPI_IbsendPI_IbsendPI_IbsendPI_Ibsend (buf, count, datatype, dest, tag, comm, request, ierror)(buf, count, datatype, dest, tag, comm, request, ierror)(buf, count, datatype, dest, tag, comm, request, ierror)(buf, count, datatype, dest, tag, comm, request, ierror)
<type> buf(*)
integer count, datatype, dest, tag, comm, request, ierror
Starts a nonblocking buffered send.
MPI_iMPI_iMPI_iMPI_initnitnitnit (i (i (i (ierror)error)error)error)
integer ierror
Initializes the MPI execution environment.
MPI_MPI_MPI_MPI_InitializedInitializedInitializedInitialized (flag, (flag, (flag, (flag, ierror) ierror) ierror) ierror)
logical flag
integer ierror
Indicates whether MPI_ Init has been called.
MPI_Intercomm_creaMPI_Intercomm_creaMPI_Intercomm_creaMPI_Intercomm_createtetete (1oca1_comm, local_lead(1oca1_comm, local_lead(1oca1_comm, local_lead(1oca1_comm, local_leader, peer_comm,er, peer_comm,er, peer_comm,er, peer_comm,
remote_leader, tag, newintercomremote_leader, tag, newintercomremote_leader, tag, newintercomremote_leader, tag, newintercomm, ierror)m, ierror)m, ierror)m, ierror)
integer local_comm, local_leader, peer_comm, remote_leader, tag,
newintercomm, ierror
Creates an intercommunicator from two intercommunicators.
MMMMPIPIPIPI_Jntercomm__Jntercomm__Jntercomm__Jntercomm_mergemergemergemerge (intercomm, high, intracomm (intercomm, high, intracomm (intercomm, high, intracomm (intercomm, high, intracomm, ierror) , ierror) , ierror) , ierror)
integer intercomm, intracomm, ierror
logical high
Creates an intracomrnunicator from an intercornrnunicator.
15
MMMMPI_IprobePI_IprobePI_IprobePI_Iprobe ((((source, tag, comm, flag, status, ierrorsource, tag, comm, flag, status, ierrorsource, tag, comm, flag, status, ierrorsource, tag, comm, flag, status, ierror))))
integer source, tag, comm, status(*), ierror
logical flag
Nonblocking test for a message.
MMMMPI_IrecvPI_IrecvPI_IrecvPI_Irecv (buf, count, datatype, source, tag, comm, request, ierror)(buf, count, datatype, source, tag, comm, request, ierror)(buf, count, datatype, source, tag, comm, request, ierror)(buf, count, datatype, source, tag, comm, request, ierror)
<type> buf(*)
integer count, datatype, source, tag, comm, request, ierror
Begins a nonblockinq receive.
MMMMPI_IrsendPI_IrsendPI_IrsendPI_Irsend ((((buf, count, dabuf, count, dabuf, count, dabuf, count, datatype, dest, tag, comm, requestatype, dest, tag, comm, requestatype, dest, tag, comm, requestatype, dest, tag, comm, request, ierror)t, ierror)t, ierror)t, ierror)
<type> buf(*)
integer count, datatype, dest, tag, comm, request, ierror
Starts a nonblocking ready send.
MMMMPI_IsendPI_IsendPI_IsendPI_Isend (buf, (buf, (buf, (buf, count, datatype, dest, tag, commcount, datatype, dest, tag, commcount, datatype, dest, tag, commcount, datatype, dest, tag, comm, request, ierror), request, ierror), request, ierror), request, ierror)
<type> buf(*)
integer count, datatype, dest, tag, comm, request, ierror
Starts a nonblocking send.
MPIMPIMPIMPI_I_I_I_Isssssssseeeendndndnd (buf, coun (buf, coun (buf, coun (buf, count datatyp, dt datatyp, dt datatyp, dt datatyp, dest, tag, comm, request, ieest, tag, comm, request, ieest, tag, comm, request, ieest, tag, comm, request, ierror)rror)rror)rror)
<type> buf(*)
integer count, datatype, dost, tag, comm, request, ierror
Starts a nonblockinq synchronous send.
MPI_MPI_MPI_MPI_KKKKeyval_eyval_eyval_eyval_createcreatecreatecreate (copy_fn, delete_fn, keyval, extra_state, i (copy_fn, delete_fn, keyval, extra_state, i (copy_fn, delete_fn, keyval, extra_state, i (copy_fn, delete_fn, keyval, extra_state, ierror)error)error)error)
external copy_fn, delete_fn
integer keyval, extra_state, ierror
Generates a new attribute key.
Deprecated: Use MPI Comrn_create_keyval instead.
16
MPI_MPI_MPI_MPI_KeyvalfreeKeyvalfreeKeyvalfreeKeyvalfree (keyval, (keyval, (keyval, (keyval, ierror) ierror) ierror) ierror)
integer keyval, ierror
Frees attribute key for communicator cache attribute
Deprecated: Use MPI_Comm_free_keyval instead.
MPI_Op_createMPI_Op_createMPI_Op_createMPI_Op_create (functlon, commute, op, i (functlon, commute, op, i (functlon, commute, op, i (functlon, commute, op, ierror) error) error) error)
external function
logical commute
integer op, ierror
Creates a user-defined combination function handle.
MPI_OpMPI_OpMPI_OpMPI_Op_fr_fr_fr_free (op, ierroee (op, ierroee (op, ierroee (op, ierror)r)r)r)
integer op, ierror
Frees a user-defined combination function handle.
MMMMPI_PackPI_PackPI_PackPI_Pack (inbuf, incount, datatype, outbuf, outcount, position, comm, (inbuf, incount, datatype, outbuf, outcount, position, comm, (inbuf, incount, datatype, outbuf, outcount, position, comm, (inbuf, incount, datatype, outbuf, outcount, position, comm,
ierrorierrorierrorierror))))
<type>inbuf(*), outbuf(*)
integer incount, datatype, outcount, position, comm, ierror
Packs data into a contiguous buffer.
MMMMPI_Pack_sizePI_Pack_sizePI_Pack_sizePI_Pack_size (incount, datatype, size, ierror) (incount, datatype, size, ierror) (incount, datatype, size, ierror) (incount, datatype, size, ierror)
integer incount, datatype, size, ierror
Return the size needed to pack a datatype.
MPIMPIMPIMPI_Pcontrol (level) _Pcontrol (level) _Pcontrol (level) _Pcontrol (level)
integer level
Controls profiling (no ierror argument!).
17
MMMMPIPIPIPI_Probe_Probe_Probe_Probe (source, tag, comm, s (source, tag, comm, s (source, tag, comm, s (source, tag, comm, status, ierror)tatus, ierror)tatus, ierror)tatus, ierror)
integer source, tag, comm, status, ierror
Blocking test for a message.
MPI_RMPI_RMPI_RMPI_Recvecvecvecv (buf, count, datatype, source, tag, comm, status, ierror) (buf, count, datatype, source, tag, comm, status, ierror) (buf, count, datatype, source, tag, comm, status, ierror) (buf, count, datatype, source, tag, comm, status, ierror)
<type> buf(*)
integer count, datatype, source, tag, comm, status(*), ierror
Basic receive.
MPIMPIMPIMPI_Recv_init_Recv_init_Recv_init_Recv_init (buf, count, datatype, source, tag, comm, request, (buf, count, datatype, source, tag, comm, request, (buf, count, datatype, source, tag, comm, request, (buf, count, datatype, source, tag, comm, request, ierror)ierror)ierror)ierror)
<type> buf(*)
integer count, datatype, source, tag, comm, request, ierror
Creates a handle for a receive.
MPI_MPI_MPI_MPI_ReduceReduceReduceReduce (sendbuf, recvbuf, count, datatype, op (sendbuf, recvbuf, count, datatype, op (sendbuf, recvbuf, count, datatype, op (sendbuf, recvbuf, count, datatype, op, root,, root,, root,, root, comm, ierror)comm, ierror)comm, ierror)comm, ierror)
<type> sendbuf(*), recvbuf(*)
integer count, datatype, op, root, comm, ierror
Reduces values on all processes to a single value. Operation is defined by op –
see part A.
MMMMPI_Reduce_scatterPI_Reduce_scatterPI_Reduce_scatterPI_Reduce_scatter (sendbuf, recvbuf, recvcounts, datatype, op,(sendbuf, recvbuf, recvcounts, datatype, op,(sendbuf, recvbuf, recvcounts, datatype, op,(sendbuf, recvbuf, recvcounts, datatype, op, comm, comm, comm, comm,
iiiierroerroerroerror)r)r)r)
<type> sendbuf(*), recvbuf(*)
integer recvcounts(*), datatype, op, comm, ierror
Combines values and scatters the results.
MPIMPIMPIMPI_Request_free_Request_free_Request_free_Request_free (request, (request, (request, (request, ierror) ierror) ierror) ierror)
integer request, ierror
Frees a communication request object.
18
MMMMPI_RsendPI_RsendPI_RsendPI_Rsend (buf, co(buf, co(buf, co(buf, count, datatype, dest, tag, comm, ierror)unt, datatype, dest, tag, comm, ierror)unt, datatype, dest, tag, comm, ierror)unt, datatype, dest, tag, comm, ierror)
<type> buf(*)
integer count, datatype, dest, tag, comm, ierror
Basic ready send.
MPIMPIMPIMPI_Rsend_init_Rsend_init_Rsend_init_Rsend_init (buf, count, datatype, dest, tag, comm, request, (buf, count, datatype, dest, tag, comm, request, (buf, count, datatype, dest, tag, comm, request, (buf, count, datatype, dest, tag, comm, request, ierrorierrorierrorierror))))
<type> buf(*)
integer count, datatype, dest, tag, comm, request, ierror
Builds a handle for a ready send.
MPI_Scan (sendbuf, recvbut, count, datatype, op, comm, ierror)
<type> sendbuf(*), recvbuf(*)
integer count, datatype, op, comm, ierror
Computes the scan (partial reductions) of data on a collection of processes.
MMMMPI_ScatterPI_ScatterPI_ScatterPI_Scatter (sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, (sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, (sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, (sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype,
root, comm, ierrorroot, comm, ierrorroot, comm, ierrorroot, comm, ierror))))
<type> sendbuf(*), recvbuf(*)
integer sendcount, sendtype, recvcount, recvtype, root, comm, ierror
Sends data from one task to all other tasks in a group.
MMMMPI_PI_PI_PI_ScattervScattervScattervScatterv (sendbuf, sendcounts, displ (sendbuf, sendcounts, displ (sendbuf, sendcounts, displ (sendbuf, sendcounts, displs, sendtype, recvbuf,s, sendtype, recvbuf,s, sendtype, recvbuf,s, sendtype, recvbuf,
recvcount, recvtype, root, comm, ierror)recvcount, recvtype, root, comm, ierror)recvcount, recvtype, root, comm, ierror)recvcount, recvtype, root, comm, ierror)
<type> sendbuf(*), recvbuf(*)
integer sendcounts(*), displs(*), sendtype, recvcount, recvtype, root, comm,
ierror
Scatters a buffer in parts to all tasks in a group.
19
MMMMPI_PI_PI_PI_ssssendendendend (buf, coun (buf, coun (buf, coun (buf, count, datt, datt, datt, dataaaatype, det,tag,type, det,tag,type, det,tag,type, det,tag, comm comm comm comm,,,, ierror ierror ierror ierror))))
<type> buf(*)
integer count, datatyp, dest, tag, comm, ierror
Basic send.
MMMMPI_Send_initPI_Send_initPI_Send_initPI_Send_init (buf, count,(buf, count,(buf, count,(buf, count, datatype, dest, tag, comm, requ datatype, dest, tag, comm, requ datatype, dest, tag, comm, requ datatype, dest, tag, comm, request,est,est,est, ierror)ierror)ierror)ierror)
<type> buf(*)
integer count, datatype, dest, tag, comm, request, ierror
Builds a handle for a standard send.
MPIMPIMPIMPI_Sendrecv_Sendrecv_Sendrecv_Sendrecv (sendbuf, sendcount, sendtype, dest, sendtag, r(sendbuf, sendcount, sendtype, dest, sendtag, r(sendbuf, sendcount, sendtype, dest, sendtag, r(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, ecvbuf, recvcount, ecvbuf, recvcount, ecvbuf, recvcount,
recvtype, source, recvtag, comm, srecvtype, source, recvtag, comm, srecvtype, source, recvtag, comm, srecvtype, source, recvtag, comm, status, ierror) tatus, ierror) tatus, ierror) tatus, ierror)
<type>sendbuf(*), recvbuf(*)
integer sendcount, sendtype, dest, sendtag, recvcount, recvtype,
source, recvtag, comm, status(*), ierror
Sends and receives.
MPI_Sendrecv_replaceMPI_Sendrecv_replaceMPI_Sendrecv_replaceMPI_Sendrecv_replace (buf, count, datatype, dest, sendtag, source, (buf, count, datatype, dest, sendtag, source, (buf, count, datatype, dest, sendtag, source, (buf, count, datatype, dest, sendtag, source,
recvtag, comm, status, recvtag, comm, status, recvtag, comm, status, recvtag, comm, status, iiiierror)error)error)error)
<type> buf(*)
integer count, datatype, dest, sendtag, source, recvtag, comrn, status(*), ierror
Sends and receives using a single buffer.
MPI_SsendMPI_SsendMPI_SsendMPI_Ssend (buf, count, datatype, dest, tag, comm, ierror) (buf, count, datatype, dest, tag, comm, ierror) (buf, count, datatype, dest, tag, comm, ierror) (buf, count, datatype, dest, tag, comm, ierror)
<type> buf(*)
integer count, datatype, dest, tag, comm, ierror
Basic synchronous send.
20
MPI_SseMPI_SseMPI_SseMPI_Ssennnnd_initd_initd_initd_init (buf, coun (buf, coun (buf, coun (buf, count, dt, dt, dt, datatype, dest, tag, comm, request, atatype, dest, tag, comm, request, atatype, dest, tag, comm, request, atatype, dest, tag, comm, request, iiiierror)error)error)error)
<type> buf(*)
integer count, datatype, dest, tag, comm, request, ierror
Builds a handle for a synchronous send.
MPl_SMPl_SMPl_SMPl_Start (request, ierror)tart (request, ierror)tart (request, ierror)tart (request, ierror)
integer request, ierror
Initiates a communication with a persistent request handle.
MPIMPIMPIMPI_Starta1l (count, array_of_requests, ierror) _Starta1l (count, array_of_requests, ierror) _Starta1l (count, array_of_requests, ierror) _Starta1l (count, array_of_requests, ierror)
integer count, array_ot_requests(*), lerror
Starts a collection of requests
MPIMPIMPIMPI_Test_Test_Test_Test (request, flag, status, ierror) (request, flag, status, ierror) (request, flag, status, ierror) (request, flag, status, ierror)
integer request, status(*), ierror
logical f lag
Tests for the completion of a send or receive
MPIMPIMPIMPI_Testal1_Testal1_Testal1_Testal1 (count, (count, (count, (count, arrayarrayarrayarray____ofofofof____requests, flag, array_of_statuses, ierror)requests, flag, array_of_statuses, ierror)requests, flag, array_of_statuses, ierror)requests, flag, array_of_statuses, ierror)
integer count, array_of_requests(*),
array_of_statuses(MPI_STATUS_SIZE,*), ierror
logical flag
Tests for the completion of all previously initiated communications.
MPIMPIMPIMPI_Testany_Testany_Testany_Testany (count, array(count, array(count, array(count, array_of_requests, index, flag, status_of_requests, index, flag, status_of_requests, index, flag, status_of_requests, index, flag, status, icrror) , icrror) , icrror) , icrror)
integer count, array_of_requests(*), index, status(*), ierror
logical flag
Tests for completion of any previously initiated communication.
21
MPIMPIMPIMPI_Testsome_Testsome_Testsome_Testsome (incount, ar(incount, ar(incount, ar(incount, arrayrayrayray____of_requests, outcount, array_ofof_requests, outcount, array_ofof_requests, outcount, array_ofof_requests, outcount, array_of____indices, indices, indices, indices,
arrayarrayarrayarray____of_statuses, ierror)of_statuses, ierror)of_statuses, ierror)of_statuses, ierror)
integer incount, array_of_requests(*), outcount, array_of_indices(*),
arry_of_statuses(MPLSTATUS_SIZE.*), ierror
Tests for some given communications to complete.
MPI_Test_MPI_Test_MPI_Test_MPI_Test_ccccancelledancelledancelledancelled (s(s(s(status, f lag, ierror) tatus, f lag, ierror) tatus, f lag, ierror) tatus, f lag, ierror)
integer status(*), ierror
logical flag
Tests to see whether a request was cancelled.
MPI_Topo_testMPI_Topo_testMPI_Topo_testMPI_Topo_test (cornm, top(cornm, top(cornm, top(cornm, top----type, itype, itype, itype, ierror) error) error) error)
integer comm, top-type, ierror
Determines the type of topology (if any) associated with a communicator.
MMMMPI_Type_comPI_Type_comPI_Type_comPI_Type_commit (datatype, ierror)mit (datatype, ierror)mit (datatype, ierror)mit (datatype, ierror)
integer datatype, ierror
Commits the datatype.
MPI_Type_contigous (count, oldtype, newtype, ierror)MPI_Type_contigous (count, oldtype, newtype, ierror)MPI_Type_contigous (count, oldtype, newtype, ierror)MPI_Type_contigous (count, oldtype, newtype, ierror)
integer count, oldtype, newtype, ierror
Creates a contiguous datatype.
MMMMPI_Type_create_hindexedPI_Type_create_hindexedPI_Type_create_hindexedPI_Type_create_hindexed (count, array(count, array(count, array(count, array____of_blockleof_blockleof_blockleof_blocklengths,ngths,ngths,ngths,
array_of_displacments, oarray_of_displacments, oarray_of_displacments, oarray_of_displacments, oldtyp, newtype, ldtyp, newtype, ldtyp, newtype, ldtyp, newtype, ieieieierror) rror) rror) rror)
integer count, array_of_blocklengths(*), oldtype, newtype, ierror
integer (kind=MPI_ADDRESS_KIND) array_of_dip1acements(*)
MPI-2: Creates an indexed datatype with offsets in bytes.
22
MMMMPI_Type_create_hPI_Type_create_hPI_Type_create_hPI_Type_create_hvectorvectorvectorvector (count, blocklength, stride, oldtype, (count, blocklength, stride, oldtype, (count, blocklength, stride, oldtype, (count, blocklength, stride, oldtype, newtype, newtype, newtype, newtype,
ierror)ierror)ierror)ierror)
integer count, blocklength, oldtype, newtype, ierror
integer (kind=MP1_ADDRESS_KIND) stride
MPI-2: Creates a vector (strided) datatype with offset in bytes.
MPI_Type_create_struct (count, arrMPI_Type_create_struct (count, arrMPI_Type_create_struct (count, arrMPI_Type_create_struct (count, array_of_ay_of_ay_of_ay_of_b1ock1engths,arrayb1ock1engths,arrayb1ock1engths,arrayb1ock1engths,array_of_displacemen_of_displacemen_of_displacemen_of_displacements, ts, ts, ts,
array_of_types, netype, ierror) array_of_types, netype, ierror) array_of_types, netype, ierror) array_of_types, netype, ierror)
integer count, array_of_blocklengths(*), array_of_types(), newtype. ierror
integer (kind=MPI_ADDRES_KIND) array_of_disp1acements(*)
MPI-2: Creates a structure datatype.
MPIMPIMPIMPI_Typ_Typ_Typ_Typeeee____extentextentextentextent (datatype, extent, ierror) (datatype, extent, ierror) (datatype, extent, ierror) (datatype, extent, ierror)
integer datatype, extent, ierror
Returns the size of datatype.
Deprecated: Use MP1_Type_get_extent instead.
MPI_Type_freeMPI_Type_freeMPI_Type_freeMPI_Type_free (datatype, ierror) (datatype, ierror) (datatype, ierror) (datatype, ierror)
integer datatype, ierror
Marks the datatype object for deallocation.
MPI_TypeMPI_TypeMPI_TypeMPI_Type____getgetgetget____extentextentextentextent (datatype, lb, (datatype, lb, (datatype, lb, (datatype, lb, extent, ierror) extent, ierror) extent, ierror) extent, ierror)
integer datatype, ierror
integer (kind=MPI_ADDRESS_KIND) lb, extent
MPI-2: Return the lower bound and extent of a datatype.
MPI_Typ_hindexed (count, array_of_b1ock1engthMPI_Typ_hindexed (count, array_of_b1ock1engthMPI_Typ_hindexed (count, array_of_b1ock1engthMPI_Typ_hindexed (count, array_of_b1ock1engthssss(*)(*)(*)(*),,,, array_of_diarray_of_diarray_of_diarray_of_displacements, splacements, splacements, splacements,
oldtype, newtoldtype, newtoldtype, newtoldtype, newtype, iype, iype, iype, ierror)error)error)error)
integer count, array_of_BlockIengtIhs(*), array_ot_displacements(*),
oldtype, newtype, ierror
Creates an indexed datatype with offsets in bytes.
Deprecated: Use MPI_Type_create_hindexed instead.
23
MMMMPI_Type_hvectorPI_Type_hvectorPI_Type_hvectorPI_Type_hvector (count, blocklength, stride, o(count, blocklength, stride, o(count, blocklength, stride, o(count, blocklength, stride, o1dtype, newtype, ierror)1dtype, newtype, ierror)1dtype, newtype, ierror)1dtype, newtype, ierror)
integer count, blocklength, stride, oldtype, newtype, ierror
Creates a vector (strided) datatype with offset in bytes.
Deprecated: Use MPI_Type_create_hvector instead.
MMMMPI_Type_indexedPI_Type_indexedPI_Type_indexedPI_Type_indexed ((((count, array_of_b1ock1enthscount, array_of_b1ock1enthscount, array_of_b1ock1enthscount, array_of_b1ock1enths,,,, array_of_displa array_of_displa array_of_displa array_of_displacemcemcemcements, ents, ents, ents,
oldtype, newtype, ierror)oldtype, newtype, ierror)oldtype, newtype, ierror)oldtype, newtype, ierror)
integer count, array_or_b1ock1engths(*), array_ot_disp1acements(*), oldtype,
newtype, ierror
Creates an indexed datatype.
MMMMPI_Type_1b (dPI_Type_1b (dPI_Type_1b (dPI_Type_1b (datatype, disatatype, disatatype, disatatype, disp1acement, ierror) p1acement, ierror) p1acement, ierror) p1acement, ierror)
integer datatype, displacement, ierror
Returns the 1ower bound of a datatype.
Deprecated: Use MPI_ Type_get_extent instead.
MMMMPI_TypePI_TypePI_TypePI_Type_si_si_si_sizezezeze (datatype, size, i (datatype, size, i (datatype, size, i (datatype, size, ierror) error) error) error)
integer datatype, size, ierror
Return the number of bytes occupied by entries in the datatype.
MMMMPI_Type_structPI_Type_structPI_Type_structPI_Type_struct (count, array_of_blocklengths,(count, array_of_blocklengths,(count, array_of_blocklengths,(count, array_of_blocklengths, array_of_displacements, array_of_displacements, array_of_displacements, array_of_displacements,
array_of_types, newtype, ierror) array_of_types, newtype, ierror) array_of_types, newtype, ierror) array_of_types, newtype, ierror)
integer count, array_of_blocklengths(*), array_of_displacements(*),
array_of_types(*), newtype, ierror
Creates a structure datatype.
Deprecated: Use MPI_Type_create_struct instead.
MMMMPI_TPI_TPI_TPI_Type_ub (daype_ub (daype_ub (daype_ub (datatype, displtatype, displtatype, displtatype, displacement, ierror) acement, ierror) acement, ierror) acement, ierror)
integer datatype, displacement, ierror
Returns the upper bound of a datatype
Deprecated: Use MPI_Type_get_extent instead.
24
MPIMPIMPIMPI_Type_vector_Type_vector_Type_vector_Type_vector (count, blocklength, stride, oldtype, newtype, ierror)(count, blocklength, stride, oldtype, newtype, ierror)(count, blocklength, stride, oldtype, newtype, ierror)(count, blocklength, stride, oldtype, newtype, ierror)
integer count, blocklength, stride, oldtype, newtype, ierror
Creates a vector (strided) datatype.
MMMMPI_UnpackPI_UnpackPI_UnpackPI_Unpack (inbuf, insize, position, outbuf, outco (inbuf, insize, position, outbuf, outco (inbuf, insize, position, outbuf, outco (inbuf, insize, position, outbuf, outcount, datatype, unt, datatype, unt, datatype, unt, datatype, comm, comm, comm, comm,
ierror)ierror)ierror)ierror)
<type> inbuf(*), outbuf(*)
integer insize, position, outcount, datatype, comm, ierror
Unpacks data from a contiguous buffer.
MMMMPI_WaitPI_WaitPI_WaitPI_Wait (request, status, ierror)(request, status, ierror)(request, status, ierror)(request, status, ierror)
integer request, status(*), ierror
Waits for an MPI send or receive to complete.
MPI_WaiMPI_WaiMPI_WaiMPI_Waitttta11 (count, array_of_requests, arra11 (count, array_of_requests, arra11 (count, array_of_requests, arra11 (count, array_of_requests, arrayayayay_of_statuses, ierror_of_statuses, ierror_of_statuses, ierror_of_statuses, ierror))))
integer count, array_of_requests(*), array_of_statuses(MPI_STATUS_SIZE,*),
ierror
Waits for all given communications to complete.
MMMMPI_WaitanyPI_WaitanyPI_WaitanyPI_Waitany (count, array_or_requests, index, status, i (count, array_or_requests, index, status, i (count, array_or_requests, index, status, i (count, array_or_requests, index, status, ierror) error) error) error)
integer count, array_of_requests(*), index, status(*), ierror
Waits for any specified send or receive to complete.
MPI_MPI_MPI_MPI_WWWWaiaiaiaitsometsometsometsome (incount, array_of (incount, array_of (incount, array_of (incount, array_of_requests, outcount, array_requests, outcount, array_requests, outcount, array_requests, outcount, array_of__of__of__of_indices, indices, indices, indices,
array_ofarray_ofarray_ofarray_of_statuses, i_statuses, i_statuses, i_statuses, ierror)error)error)error)
integer incount, array_of_requests(*), outcount, array_of_indices(*),
array_of_statuses(MPI_STATUSSIZE,*), ierror
Waits for some given communications to complete.
Double precision MPI_WDouble precision MPI_WDouble precision MPI_WDouble precision MPI_Wtick()tick()tick()tick()
Returns the resolution of MPI_Wtime.
25
double precision Mdouble precision Mdouble precision Mdouble precision MPIPIPIPI____Wtime()Wtime()Wtime()Wtime()
Returns an elapsed time on the calling processor.