17#ifndef __DRIVER_MPI_COMMON_H__
18#define __DRIVER_MPI_COMMON_H__
25#pragma GCC visibility push(hidden)
27#ifdef STARPU_USE_MPI_MASTER_SLAVE
33extern int _starpu_mpi_common_multiple_thread;
35int _starpu_mpi_common_mp_init();
36void _starpu_mpi_common_mp_deinit();
38int _starpu_mpi_common_is_src_node();
39int _starpu_mpi_common_get_src_node();
41int _starpu_mpi_common_is_mp_initialized();
42int _starpu_mpi_common_recv_is_ready(
const struct _starpu_mp_node *mp_node);
43int _starpu_mpi_common_notif_recv_is_ready(
const struct _starpu_mp_node *mp_node);
44int _starpu_mpi_common_notif_send_is_ready(
const struct _starpu_mp_node *mp_node);
46void _starpu_mpi_common_mp_initialize_src_sink(
struct _starpu_mp_node *node);
48void _starpu_mpi_common_send(
const struct _starpu_mp_node *node,
void *msg,
int len,
void * event);
49void _starpu_mpi_common_recv(
const struct _starpu_mp_node *node,
void *msg,
int len,
void * event);
51void _starpu_mpi_common_mp_send(
const struct _starpu_mp_node *node,
void *msg,
int len);
52void _starpu_mpi_common_mp_recv(
const struct _starpu_mp_node *node,
void *msg,
int len);
54void _starpu_mpi_common_nt_send(
const struct _starpu_mp_node *node,
void *msg,
int len);
55void _starpu_mpi_common_nt_recv(
const struct _starpu_mp_node *node,
void *msg,
int len);
57void _starpu_mpi_common_recv_from_device(
const struct _starpu_mp_node *node,
int src_devid,
void *msg,
int len,
void * event);
58void _starpu_mpi_common_send_to_device(
const struct _starpu_mp_node *node,
int dst_devid,
void *msg,
int len,
void * event);
63void _starpu_mpi_common_barrier(
void);
65void _starpu_mpi_common_measure_bandwidth_latency(
double bandwidth_dtod[STARPU_MAXMPIDEVS][STARPU_MAXMPIDEVS],
double latency_dtod[STARPU_MAXMPIDEVS][STARPU_MAXMPIDEVS]);
69#pragma GCC visibility pop
Definition copy_driver.h:71