|
@@ -11,21 +11,21 @@
|
|
|
@name Initialisation
|
|
|
\ingroup API_MPI_Support
|
|
|
|
|
|
-\fn int starpu_mpi_init (int *argc, char ***argv, int initialize_mpi)
|
|
|
+\fn int starpu_mpi_init(int *argc, char ***argv, int initialize_mpi)
|
|
|
\ingroup API_MPI_Support
|
|
|
Initializes the starpumpi library. \p initialize_mpi indicates if MPI
|
|
|
should be initialized or not by StarPU. If the value is not 0, MPI
|
|
|
will be initialized by calling <c>MPI_Init_Thread(argc, argv,
|
|
|
MPI_THREAD_SERIALIZED, ...)</c>.
|
|
|
|
|
|
-\fn int starpu_mpi_initialize (void)
|
|
|
+\fn int starpu_mpi_initialize(void)
|
|
|
\deprecated
|
|
|
\ingroup API_MPI_Support
|
|
|
This function has been made deprecated. One should use instead the
|
|
|
function starpu_mpi_init(). This function does not call MPI_Init(), it
|
|
|
should be called beforehand.
|
|
|
|
|
|
-\fn int starpu_mpi_initialize_extended (int *rank, int *world_size)
|
|
|
+\fn int starpu_mpi_initialize_extended(int *rank, int *world_size)
|
|
|
\deprecated
|
|
|
\ingroup API_MPI_Support
|
|
|
This function has been made deprecated. One should use instead the
|
|
@@ -33,13 +33,13 @@ function starpu_mpi_init(). MPI will be initialized by starpumpi by
|
|
|
calling <c>MPI_Init_Thread(argc, argv, MPI_THREAD_SERIALIZED,
|
|
|
...)</c>.
|
|
|
|
|
|
-\fn int starpu_mpi_shutdown (void)
|
|
|
+\fn int starpu_mpi_shutdown(void)
|
|
|
\ingroup API_MPI_Support
|
|
|
Cleans the starpumpi library. This must be called between calling
|
|
|
starpu_mpi functions and starpu_shutdown(). MPI_Finalize() will be
|
|
|
called if StarPU-MPI has been initialized by starpu_mpi_init().
|
|
|
|
|
|
-\fn void starpu_mpi_comm_amounts_retrieve (size_t *comm_amounts)
|
|
|
+\fn void starpu_mpi_comm_amounts_retrieve(size_t *comm_amounts)
|
|
|
\ingroup API_MPI_Support
|
|
|
Retrieve the current amount of communications from the current node in
|
|
|
the array \p comm_amounts which must have a size greater or equal to
|
|
@@ -50,33 +50,33 @@ the world size. Communications statistics must be enabled (see
|
|
|
\anchor MPIPtpCommunication
|
|
|
\ingroup API_MPI_Support
|
|
|
|
|
|
-\fn int starpu_mpi_send (starpu_data_handle_t data_handle, int dest, int mpi_tag, MPI_Comm comm)
|
|
|
+\fn int starpu_mpi_send(starpu_data_handle_t data_handle, int dest, int mpi_tag, MPI_Comm comm)
|
|
|
\ingroup API_MPI_Support
|
|
|
Performs a standard-mode, blocking send of \p data_handle to the node
|
|
|
\p dest using the message tag \p mpi_tag within the communicator \p
|
|
|
comm.
|
|
|
|
|
|
-\fn int starpu_mpi_recv (starpu_data_handle_t data_handle, int source, int mpi_tag, MPI_Comm comm, MPI_Status *status)
|
|
|
+\fn int starpu_mpi_recv(starpu_data_handle_t data_handle, int source, int mpi_tag, MPI_Comm comm, MPI_Status *status)
|
|
|
\ingroup API_MPI_Support
|
|
|
Performs a standard-mode, blocking receive in \p data_handle from the
|
|
|
node \p source using the message tag \p mpi_tag within the
|
|
|
communicator \p comm.
|
|
|
|
|
|
-\fn int starpu_mpi_isend (starpu_data_handle_t data_handle, starpu_mpi_req *req, int dest, int mpi_tag, MPI_Comm comm)
|
|
|
+\fn int starpu_mpi_isend(starpu_data_handle_t data_handle, starpu_mpi_req *req, int dest, int mpi_tag, MPI_Comm comm)
|
|
|
\ingroup API_MPI_Support
|
|
|
Posts a standard-mode, non blocking send of \p data_handle to the node
|
|
|
\p dest using the message tag \p mpi_tag within the communicator \p
|
|
|
comm. After the call, the pointer to the request \p req can be used to
|
|
|
test or to wait for the completion of the communication.
|
|
|
|
|
|
-\fn int starpu_mpi_irecv (starpu_data_handle_t data_handle, starpu_mpi_req *req, int source, int mpi_tag, MPI_Comm comm)
|
|
|
+\fn int starpu_mpi_irecv(starpu_data_handle_t data_handle, starpu_mpi_req *req, int source, int mpi_tag, MPI_Comm comm)
|
|
|
\ingroup API_MPI_Support
|
|
|
Posts a nonblocking receive in \p data_handle from the node \p source
|
|
|
using the message tag \p mpi_tag within the communicator \p comm.
|
|
|
After the call, the pointer to the request \p req can be used to test
|
|
|
or to wait for the completion of the communication.
|
|
|
|
|
|
-\fn int starpu_mpi_isend_detached (starpu_data_handle_t data_handle, int dest, int mpi_tag, MPI_Comm comm, void (*callback)(void *), void *arg)
|
|
|
+\fn int starpu_mpi_isend_detached(starpu_data_handle_t data_handle, int dest, int mpi_tag, MPI_Comm comm, void (*callback)(void *), void *arg)
|
|
|
\ingroup API_MPI_Support
|
|
|
Posts a standard-mode, non blocking send of \p data_handle to the node
|
|
|
\p dest using the message tag \p mpi_tag within the communicator \p
|
|
@@ -87,7 +87,7 @@ communication completes, its resources are automatically released back
|
|
|
to the system, there is no need to test or to wait for the completion
|
|
|
of the request.
|
|
|
|
|
|
-\fn int starpu_mpi_irecv_detached (starpu_data_handle_t data_handle, int source, int mpi_tag, MPI_Comm comm, void (*callback)(void *), void *arg)
|
|
|
+\fn int starpu_mpi_irecv_detached(starpu_data_handle_t data_handle, int source, int mpi_tag, MPI_Comm comm, void (*callback)(void *), void *arg)
|
|
|
\ingroup API_MPI_Support
|
|
|
Posts a nonblocking receive in \p data_handle from the node \p source
|
|
|
using the message tag \p mpi_tag within the communicator \p comm. On
|
|
@@ -98,34 +98,34 @@ communication completes, its resources are automatically released back
|
|
|
to the system, there is no need to test or to wait for the completion
|
|
|
of the request.
|
|
|
|
|
|
-\fn int starpu_mpi_wait (starpu_mpi_req *req, MPI_Status *status)
|
|
|
+\fn int starpu_mpi_wait(starpu_mpi_req *req, MPI_Status *status)
|
|
|
\ingroup API_MPI_Support
|
|
|
Returns when the operation identified by request \p req is complete.
|
|
|
|
|
|
-\fn int starpu_mpi_test (starpu_mpi_req *req, int *flag, MPI_Status *status)
|
|
|
+\fn int starpu_mpi_test(starpu_mpi_req *req, int *flag, MPI_Status *status)
|
|
|
\ingroup API_MPI_Support
|
|
|
If the operation identified by \p req is complete, set \p flag to 1.
|
|
|
The \p status object is set to contain information on the completed
|
|
|
operation.
|
|
|
|
|
|
-\fn int starpu_mpi_barrier (MPI_Comm comm)
|
|
|
+\fn int starpu_mpi_barrier(MPI_Comm comm)
|
|
|
\ingroup API_MPI_Support
|
|
|
Blocks the caller until all group members of the communicator \p comm
|
|
|
have called it.
|
|
|
|
|
|
-\fn int starpu_mpi_isend_detached_unlock_tag (starpu_data_handle_t data_handle, int dest, int mpi_tag, MPI_Comm comm, starpu_tag_t tag)
|
|
|
+\fn int starpu_mpi_isend_detached_unlock_tag(starpu_data_handle_t data_handle, int dest, int mpi_tag, MPI_Comm comm, starpu_tag_t tag)
|
|
|
\ingroup API_MPI_Support
|
|
|
Posts a standard-mode, non blocking send of \p data_handle to the node
|
|
|
\p dest using the message tag \p mpi_tag within the communicator \p
|
|
|
comm. On completion, \p tag is unlocked.
|
|
|
|
|
|
-\fn int starpu_mpi_irecv_detached_unlock_tag (starpu_data_handle_t data_handle, int source, int mpi_tag, MPI_Comm comm, starpu_tag_t tag)
|
|
|
+\fn int starpu_mpi_irecv_detached_unlock_tag(starpu_data_handle_t data_handle, int source, int mpi_tag, MPI_Comm comm, starpu_tag_t tag)
|
|
|
\ingroup API_MPI_Support
|
|
|
Posts a nonblocking receive in \p data_handle from the node \p source
|
|
|
using the message tag \p mpi_tag within the communicator \p comm. On
|
|
|
completion, \p tag is unlocked.
|
|
|
|
|
|
-\fn int starpu_mpi_isend_array_detached_unlock_tag (unsigned array_size, starpu_data_handle_t *data_handle, int *dest, int *mpi_tag, MPI_Comm *comm, starpu_tag_t tag)
|
|
|
+\fn int starpu_mpi_isend_array_detached_unlock_tag(unsigned array_size, starpu_data_handle_t *data_handle, int *dest, int *mpi_tag, MPI_Comm *comm, starpu_tag_t tag)
|
|
|
\ingroup API_MPI_Support
|
|
|
Posts \p array_size standard-mode, non blocking send. Each post sends
|
|
|
the n-th data of the array \p data_handle to the n-th node of the
|
|
@@ -133,7 +133,7 @@ array \p dest using the n-th message tag of the array \p mpi_tag
|
|
|
within the n-th communicator of the array \p comm. On completion of
|
|
|
the all the requests, \p tag is unlocked.
|
|
|
|
|
|
-\fn int starpu_mpi_irecv_array_detached_unlock_tag (unsigned array_size, starpu_data_handle_t *data_handle, int *source, int *mpi_tag, MPI_Comm *comm, starpu_tag_t tag)
|
|
|
+\fn int starpu_mpi_irecv_array_detached_unlock_tag(unsigned array_size, starpu_data_handle_t *data_handle, int *source, int *mpi_tag, MPI_Comm *comm, starpu_tag_t tag)
|
|
|
\ingroup API_MPI_Support
|
|
|
Posts \p array_size nonblocking receive. Each post receives in the n-th
|
|
|
data of the array \p data_handle from the n-th node of the array \p
|
|
@@ -144,14 +144,14 @@ requests, \p tag is unlocked.
|
|
|
@name Communication Cache
|
|
|
\ingroup API_MPI_Support
|
|
|
|
|
|
-\fn void starpu_mpi_cache_flush (MPI_Comm comm, starpu_data_handle_t data_handle)
|
|
|
+\fn void starpu_mpi_cache_flush(MPI_Comm comm, starpu_data_handle_t data_handle)
|
|
|
\ingroup API_MPI_Support
|
|
|
Clear the send and receive communication cache for the data
|
|
|
\p data_handle. The function has to be called synchronously by all the
|
|
|
MPI nodes. The function does nothing if the cache mechanism is
|
|
|
disabled (see \ref STARPU_MPI_CACHE).
|
|
|
|
|
|
-\fn void starpu_mpi_cache_flush_all_data (MPI_Comm comm)
|
|
|
+\fn void starpu_mpi_cache_flush_all_data(MPI_Comm comm)
|
|
|
\ingroup API_MPI_Support
|
|
|
Clear the send and receive communication cache for all data. The
|
|
|
function has to be called synchronously by all the MPI nodes. The
|
|
@@ -162,21 +162,21 @@ function does nothing if the cache mechanism is disabled (see
|
|
|
\anchor MPIInsertTask
|
|
|
\ingroup API_MPI_Support
|
|
|
|
|
|
-\fn int starpu_data_set_tag (starpu_data_handle_t handle, int tag)
|
|
|
+\fn int starpu_data_set_tag(starpu_data_handle_t handle, int tag)
|
|
|
\ingroup API_MPI_Support
|
|
|
Tell StarPU-MPI which MPI tag to use when exchanging the data.
|
|
|
|
|
|
-\fn int starpu_data_get_tag (starpu_data_handle_t handle)
|
|
|
+\fn int starpu_data_get_tag(starpu_data_handle_t handle)
|
|
|
\ingroup API_MPI_Support
|
|
|
Returns the MPI tag to be used when exchanging the data.
|
|
|
|
|
|
-\fn int starpu_data_set_rank (starpu_data_handle_t handle, int rank)
|
|
|
+\fn int starpu_data_set_rank(starpu_data_handle_t handle, int rank)
|
|
|
\ingroup API_MPI_Support
|
|
|
Tell StarPU-MPI which MPI node "owns" a given data, that is, the node
|
|
|
which will always keep an up-to-date value, and will by default
|
|
|
execute tasks which write to it.
|
|
|
|
|
|
-\fn int starpu_data_get_rank (starpu_data_handle_t handle)
|
|
|
+\fn int starpu_data_get_rank(starpu_data_handle_t handle)
|
|
|
\ingroup API_MPI_Support
|
|
|
Returns the last value set by starpu_data_set_rank().
|
|
|
|
|
@@ -192,7 +192,7 @@ this macro is used when calling starpu_mpi_insert_task(), and must be
|
|
|
followed by a data handle to specify that the node owning the given
|
|
|
data will execute the codelet.
|
|
|
|
|
|
-\fn int starpu_mpi_insert_task (MPI_Comm comm, struct starpu_codelet *codelet, ...)
|
|
|
+\fn int starpu_mpi_insert_task(MPI_Comm comm, struct starpu_codelet *codelet, ...)
|
|
|
\ingroup API_MPI_Support
|
|
|
Create and submit a task corresponding to codelet with the following
|
|
|
arguments. The argument list must be zero-terminated.
|
|
@@ -230,13 +230,13 @@ The algorithm also includes a communication cache mechanism that
|
|
|
allows not to send data twice to the same MPI node, unless the data
|
|
|
has been modified. The cache can be disabled (see \ref STARPU_MPI_CACHE).
|
|
|
|
|
|
-\fn void starpu_mpi_get_data_on_node (MPI_Comm comm, starpu_data_handle_t data_handle, int node)
|
|
|
+\fn void starpu_mpi_get_data_on_node(MPI_Comm comm, starpu_data_handle_t data_handle, int node)
|
|
|
\ingroup API_MPI_Support
|
|
|
Transfer data \p data_handle to MPI node \p node, sending it from its
|
|
|
owner if needed. At least the target node and the owner have to call
|
|
|
the function.
|
|
|
|
|
|
-\fn void starpu_mpi_get_data_on_node_detached (MPI_Comm comm, starpu_data_handle_t data_handle, int node, void (*callback)(void*), void *arg)
|
|
|
+\fn void starpu_mpi_get_data_on_node_detached(MPI_Comm comm, starpu_data_handle_t data_handle, int node, void (*callback)(void*), void *arg)
|
|
|
\ingroup API_MPI_Support
|
|
|
Transfer data \p data_handle to MPI node \p node, sending it from its
|
|
|
owner if needed. At least the target node and the owner have to call
|
|
@@ -247,12 +247,12 @@ the argument \p arg.
|
|
|
\anchor MPICollectiveOperations
|
|
|
\ingroup API_MPI_Support
|
|
|
|
|
|
-\fn void starpu_mpi_redux_data (MPI_Comm comm, starpu_data_handle_t data_handle)
|
|
|
+\fn void starpu_mpi_redux_data(MPI_Comm comm, starpu_data_handle_t data_handle)
|
|
|
\ingroup API_MPI_Support
|
|
|
Perform a reduction on the given data. All nodes send the data to its
|
|
|
owner node which will perform a reduction.
|
|
|
|
|
|
-\fn int starpu_mpi_scatter_detached (starpu_data_handle_t *data_handles, int count, int root, MPI_Comm comm, void (*scallback)(void *), void *sarg, void (*rcallback)(void *), void *rarg)
|
|
|
+\fn int starpu_mpi_scatter_detached(starpu_data_handle_t *data_handles, int count, int root, MPI_Comm comm, void (*scallback)(void *), void *sarg, void (*rcallback)(void *), void *rarg)
|
|
|
\ingroup API_MPI_Support
|
|
|
Scatter data among processes of the communicator based on the
|
|
|
ownership of the data. For each data of the array \p data_handles, the
|
|
@@ -263,7 +263,7 @@ called with the argument \p sarg on the process \p root, the \p
|
|
|
rcallback function is called with the argument \p rarg on any other
|
|
|
process.
|
|
|
|
|
|
-\fn int starpu_mpi_gather_detached (starpu_data_handle_t *data_handles, int count, int root, MPI_Comm comm, void (*scallback)(void *), void *sarg, void (*rcallback)(void *), void *rarg)
|
|
|
+\fn int starpu_mpi_gather_detached(starpu_data_handle_t *data_handles, int count, int root, MPI_Comm comm, void (*scallback)(void *), void *sarg, void (*rcallback)(void *), void *rarg)
|
|
|
\ingroup API_MPI_Support
|
|
|
Gather data from the different processes of the communicator onto the
|
|
|
process \p root. Each process owning data handle in the array
|