1 #ifndef _SMPI_INTERFACE_H
2 #define _SMPI_INTERFACE_H
5 /********** Tracing **********/
6 /* from smpi_instr.c */
7 void TRACE_smpi_alloc(void);
8 void TRACE_smpi_release(void);
9 void TRACE_smpi_ptp_in(int rank, int src, int dst, const char *operation);
10 void TRACE_smpi_ptp_out(int rank, int src, int dst, const char *operation);
11 void TRACE_smpi_send(int rank, int src, int dst);
12 void TRACE_smpi_recv(int rank, int src, int dst);
13 void TRACE_smpi_init(int rank);
14 void TRACE_smpi_finalize(int rank);
16 /** \brief MPI collective description
19 typedef struct mpi_coll_description {
21 const char *description;
23 } s_mpi_coll_description_t, *mpi_coll_description_t;
25 /** \ingroup MPI alltoallcollectives
26 * \brief The list of all available alltoall collectives
28 XBT_PUBLIC_DATA(s_mpi_coll_description_t) mpi_coll_alltoall_description[];
29 int (*mpi_coll_alltoall_fun)(void *, int, MPI_Datatype, void*, int, MPI_Datatype, MPI_Comm);
31 /** \ingroup MPI allgather
32 * \brief The list of all available allgather collectives
34 XBT_PUBLIC_DATA(s_mpi_coll_description_t) mpi_coll_allgather_description[];
35 int (*mpi_coll_allgather_fun)(void *, int, MPI_Datatype, void*, int, MPI_Datatype, MPI_Comm);
37 XBT_PUBLIC(void) coll_help(const char *category, s_mpi_coll_description_t * table);
38 XBT_PUBLIC(int) find_coll_description(s_mpi_coll_description_t * table,
41 #endif /* _SMPI_INTERFAC_H */