Loading...
Searching...
No Matches
starpu_mpi.h File Reference
`#include <starpu.h>`
`#include <mpi.h>`
`#include <starpu_mpi_ft.h>`
`#include <stdint.h>`

Go to the source code of this file.

## Data Structures

struct | starpu_mpi_task_exchange_params

## Functions

Communication Cache
int | starpu_mpi_cache_is_enabled (void)
int | starpu_mpi_cache_set (int enabled)
void | starpu_mpi_cache_flush (MPI_Comm comm, starpu_data_handle_t data_handle)
void | starpu_mpi_cache_flush_all_data (MPI_Comm comm)
int | starpu_mpi_cached_receive (starpu_data_handle_t data_handle)
int | starpu_mpi_cached_receive_set (starpu_data_handle_t data)
int | starpu_mpi_cached_cp_receive_set (starpu_data_handle_t data_handle)
void | starpu_mpi_cached_receive_clear (starpu_data_handle_t data)
int | starpu_mpi_cached_send (starpu_data_handle_t data_handle, int dest)
int | starpu_mpi_cached_send_set (starpu_data_handle_t data, int dest)
void | starpu_mpi_cached_send_clear (starpu_data_handle_t data)
Collective Operations
int | starpu_mpi_redux_data (MPI_Comm comm, starpu_data_handle_t data_handle)
int | starpu_mpi_redux_data_prio (MPI_Comm comm, starpu_data_handle_t data_handle, int prio)
int | starpu_mpi_redux_data_tree (MPI_Comm comm, starpu_data_handle_t data_handle, int arity)
int | starpu_mpi_redux_data_prio_tree (MPI_Comm comm, starpu_data_handle_t data_handle, int prio, int arity)
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)
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)
Dynamic Broadcasts
void | starpu_mpi_coop_sends_set_use (int use_coop_sends)
int | starpu_mpi_coop_sends_get_use (void)
void | starpu_mpi_coop_sends_data_handle_nb_sends (starpu_data_handle_t data_handle, int nb_sends)
Statistics
void | starpu_mpi_comm_stats_disable (void)
void | starpu_mpi_comm_stats_enable (void)
void | starpu_mpi_comm_stats_retrieve (size_t *comm_stats)
Miscellaneous
int | starpu_mpi_pre_submit_hook_register (void(*f)(struct starpu_task *))
int | starpu_mpi_pre_submit_hook_unregister (void)
int | starpu_mpi_data_cpy (starpu_data_handle_t dst_handle, starpu_data_handle_t src_handle, MPI_Comm comm, int asynchronous, void(*callback_func)(void *), void *callback_arg)
int | starpu_mpi_data_cpy_priority (starpu_data_handle_t dst_handle, starpu_data_handle_t src_handle, MPI_Comm comm, int asynchronous, void(*callback_func)(void *), void *callback_arg, int priority)
Data Tags Management
int64_t | starpu_mpi_tags_allocate (int64_t nbtags)
void | starpu_mpi_tags_free (int64_t mintag)

## Initialisation

#define | STARPU_MPI_TAG_UB
int | starpu_mpi_init_conf (int *argc, char ***argv, int initialize_mpi, MPI_Comm comm, struct starpu_conf *conf)
int | starpu_mpi_init_comm (int *argc, char ***argv, int initialize_mpi, MPI_Comm comm)
int | starpu_mpi_init (int *argc, char ***argv, int initialize_mpi)
int | starpu_mpi_initialize (void)
int | starpu_mpi_initialize_extended (int *rank, int *world_size)
int | starpu_mpi_shutdown (void)
int | starpu_mpi_shutdown_comm (MPI_Comm comm)
int | starpu_mpi_comm_register (MPI_Comm comm)
int | starpu_mpi_comm_size (MPI_Comm comm, int *size)
int | starpu_mpi_comm_rank (MPI_Comm comm, int *rank)
int | starpu_mpi_world_rank (void)
int | starpu_mpi_world_size (void)
int | starpu_mpi_comm_get_attr (MPI_Comm comm, int keyval, void *attribute_val, int *flag)
int | starpu_mpi_get_thread_cpuid (void)
int | starpu_mpi_get_communication_tag (void)
void | starpu_mpi_set_communication_tag (int tag)

## MPI Insert Task

#define | STARPU_MPI_PER_NODE
#define | starpu_mpi_data_register(data_handle, data_tag, rank)
#define | starpu_data_set_tag
#define | starpu_mpi_data_set_rank(handle, rank)
#define | starpu_data_set_rank
#define | starpu_data_get_rank
#define | starpu_data_get_tag
void | starpu_mpi_data_register_comm (starpu_data_handle_t data_handle, starpu_mpi_tag_t data_tag, int rank, MPI_Comm comm)
void | starpu_mpi_data_set_tag (starpu_data_handle_t handle, starpu_mpi_tag_t data_tag)
void | starpu_mpi_data_set_rank_comm (starpu_data_handle_t handle, int rank, MPI_Comm comm)
int | starpu_mpi_data_get_rank (starpu_data_handle_t handle)
starpu_mpi_tag_t | starpu_mpi_data_get_tag (starpu_data_handle_t handle)
char * | starpu_mpi_data_get_redux_map (starpu_data_handle_t handle)
int | starpu_mpi_task_insert (MPI_Comm comm, struct starpu_codelet *codelet,...)
int | starpu_mpi_insert_task (MPI_Comm comm, struct starpu_codelet *codelet,...)
struct starpu_task * | starpu_mpi_task_build (MPI_Comm comm, struct starpu_codelet *codelet,...)
struct starpu_task * | starpu_mpi_task_build_v (MPI_Comm comm, struct starpu_codelet *codelet, va_list varg_list)
int | starpu_mpi_task_post_build (MPI_Comm comm, struct starpu_codelet *codelet,...)
int | starpu_mpi_task_post_build_v (MPI_Comm comm, struct starpu_codelet *codelet, va_list varg_list)
int | starpu_mpi_task_exchange_data_before_execution (MPI_Comm comm, struct starpu_task *task, struct starpu_data_descr *descrs, struct starpu_mpi_task_exchange_params *params)
int | starpu_mpi_task_exchange_data_after_execution (MPI_Comm comm, struct starpu_data_descr *descrs, unsigned nb_data, struct starpu_mpi_task_exchange_params params)
int | starpu_mpi_get_data_on_node (MPI_Comm comm, starpu_data_handle_t data_handle, int node)
int | starpu_mpi_get_data_on_node_detached (MPI_Comm comm, starpu_data_handle_t data_handle, int node, void(*callback)(void *), void *arg)
void | starpu_mpi_get_data_on_all_nodes_detached (MPI_Comm comm, starpu_data_handle_t data_handle)
void | starpu_mpi_data_migrate (MPI_Comm comm, starpu_data_handle_t handle, int new_rank)

## Node Selection Policy

#define | STARPU_MPI_NODE_SELECTION_CURRENT_POLICY
#define | STARPU_MPI_NODE_SELECTION_MOST_R_DATA
typedef int(* | starpu_mpi_select_node_policy_func_t) (int me, int nb_nodes, struct starpu_data_descr *descr, int nb_data)
int | starpu_mpi_node_selection_register_policy (starpu_mpi_select_node_policy_func_t policy_func)
int | starpu_mpi_node_selection_unregister_policy (int policy)
int | starpu_mpi_node_selection_get_current_policy (void)
int | starpu_mpi_node_selection_set_current_policy (int policy)

## Communication

typedef void * | starpu_mpi_req
typedef int64_t | starpu_mpi_tag_t
typedef int(* | starpu_mpi_datatype_allocate_func_t) (starpu_data_handle_t, MPI_Datatype *)
typedef int(* | starpu_mpi_datatype_node_allocate_func_t) (starpu_data_handle_t, unsigned node, MPI_Datatype *)
typedef void(* | starpu_mpi_datatype_free_func_t) (MPI_Datatype *)
int | starpu_mpi_isend (starpu_data_handle_t data_handle, starpu_mpi_req *req, int dest, starpu_mpi_tag_t data_tag, MPI_Comm comm)
int | starpu_mpi_isend_prio (starpu_data_handle_t data_handle, starpu_mpi_req *req, int dest, starpu_mpi_tag_t data_tag, int prio, MPI_Comm comm)
int | starpu_mpi_irecv (starpu_data_handle_t data_handle, starpu_mpi_req *req, int source, starpu_mpi_tag_t data_tag, MPI_Comm comm)
int | starpu_mpi_send (starpu_data_handle_t data_handle, int dest, starpu_mpi_tag_t data_tag, MPI_Comm comm)
int | starpu_mpi_send_prio (starpu_data_handle_t data_handle, int dest, starpu_mpi_tag_t data_tag, int prio, MPI_Comm comm)
int | starpu_mpi_recv (starpu_data_handle_t data_handle, int source, starpu_mpi_tag_t data_tag, MPI_Comm comm, MPI_Status *status)
int | starpu_mpi_recv_prio (starpu_data_handle_t data_handle, int source, starpu_mpi_tag_t data_tag, int prio, MPI_Comm comm, MPI_Status *status)
int | starpu_mpi_isend_detached (starpu_data_handle_t data_handle, int dest, starpu_mpi_tag_t data_tag, MPI_Comm comm, void(*callback)(void *), void *arg)
int | starpu_mpi_isend_detached_prio (starpu_data_handle_t data_handle, int dest, starpu_mpi_tag_t data_tag, int prio, MPI_Comm comm, void(*callback)(void *), void *arg)
int | starpu_mpi_irecv_detached (starpu_data_handle_t data_handle, int source, starpu_mpi_tag_t data_tag, MPI_Comm comm, void(*callback)(void *), void *arg)
int | starpu_mpi_irecv_detached_prio (starpu_data_handle_t data_handle, int source, starpu_mpi_tag_t data_tag, int prio, MPI_Comm comm, void(*callback)(void *), void *arg)
int | starpu_mpi_irecv_detached_sequential_consistency (starpu_data_handle_t data_handle, int source, starpu_mpi_tag_t data_tag, MPI_Comm comm, void(*callback)(void *), void *arg, int sequential_consistency)
int | starpu_mpi_issend (starpu_data_handle_t data_handle, starpu_mpi_req *req, int dest, starpu_mpi_tag_t data_tag, MPI_Comm comm)
int | starpu_mpi_issend_prio (starpu_data_handle_t data_handle, starpu_mpi_req *req, int dest, starpu_mpi_tag_t data_tag, int prio, MPI_Comm comm)
int | starpu_mpi_issend_detached (starpu_data_handle_t data_handle, int dest, starpu_mpi_tag_t data_tag, MPI_Comm comm, void(*callback)(void *), void *arg)
int | starpu_mpi_issend_detached_prio (starpu_data_handle_t data_handle, int dest, starpu_mpi_tag_t data_tag, int prio, MPI_Comm comm, void(*callback)(void *), void *arg)
int | starpu_mpi_wait (starpu_mpi_req *req, MPI_Status *status)
int | starpu_mpi_test (starpu_mpi_req *req, int *flag, MPI_Status *status)
int | starpu_mpi_barrier (MPI_Comm comm)
int | starpu_mpi_wait_for_all (MPI_Comm comm)
int | starpu_mpi_isend_detached_unlock_tag (starpu_data_handle_t data_handle, int dest, starpu_mpi_tag_t data_tag, MPI_Comm comm, starpu_tag_t tag)
int | starpu_mpi_isend_detached_unlock_tag_prio (starpu_data_handle_t data_handle, int dest, starpu_mpi_tag_t data_tag, int prio, MPI_Comm comm, starpu_tag_t tag)
int | starpu_mpi_irecv_detached_unlock_tag (starpu_data_handle_t data_handle, int source, starpu_mpi_tag_t data_tag, MPI_Comm comm, starpu_tag_t tag)
int | starpu_mpi_isend_array_detached_unlock_tag (unsigned array_size, starpu_data_handle_t *data_handle, int *dest, starpu_mpi_tag_t *data_tag, MPI_Comm *comm, starpu_tag_t tag)
int | starpu_mpi_isend_array_detached_unlock_tag_prio (unsigned array_size, starpu_data_handle_t *data_handle, int *dest, starpu_mpi_tag_t *data_tag, int *prio, MPI_Comm *comm, starpu_tag_t tag)
int | starpu_mpi_irecv_array_detached_unlock_tag (unsigned array_size, starpu_data_handle_t *data_handle, int *source, starpu_mpi_tag_t *data_tag, MPI_Comm *comm, starpu_tag_t tag)
int | starpu_mpi_datatype_register (starpu_data_handle_t handle, starpu_mpi_datatype_allocate_func_t allocate_datatype_func, starpu_mpi_datatype_free_func_t free_datatype_func)
int | starpu_mpi_interface_datatype_register (enum starpu_data_interface_id id, starpu_mpi_datatype_allocate_func_t allocate_datatype_func, starpu_mpi_datatype_free_func_t free_datatype_func)
int | starpu_mpi_datatype_node_register (starpu_data_handle_t handle, starpu_mpi_datatype_node_allocate_func_t allocate_datatype_func, starpu_mpi_datatype_free_func_t free_datatype_func)
int | starpu_mpi_interface_datatype_node_register (enum starpu_data_interface_id id, starpu_mpi_datatype_node_allocate_func_t allocate_datatype_func, starpu_mpi_datatype_free_func_t free_datatype_func)
int | starpu_mpi_datatype_unregister (starpu_data_handle_t handle)
int | starpu_mpi_interface_datatype_unregister (enum starpu_data_interface_id id)