X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c57842fe897f53b46f0be3da87f7c996674be7d6..831de10adaaf8910940aa280e2ac2dd075b5ffe5:/src/include/smpi/smpi_interface.h diff --git a/src/include/smpi/smpi_interface.h b/src/include/smpi/smpi_interface.h index 41f9d40827..6f6c9d0392 100644 --- a/src/include/smpi/smpi_interface.h +++ b/src/include/smpi/smpi_interface.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2012-2014. The SimGrid Team. +/* Copyright (c) 2012-2015. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -8,119 +8,95 @@ #define _SMPI_INTERFACE_H #include "smpi/smpi.h" +SG_BEGIN_DECL() +/** \brief MPI collective description */ -/** \brief MPI collective description - */ - -typedef struct mpi_coll_description { +struct mpi_coll_description { const char *name; const char *description; void *coll; -} s_mpi_coll_description_t, *mpi_coll_description_t; - +}; +typedef struct mpi_coll_description s_mpi_coll_description_t; +typedef struct mpi_coll_description* mpi_coll_description_t; /** \ingroup MPI gather * \brief The list of all available allgather collectives */ XBT_PUBLIC_DATA(s_mpi_coll_description_t) mpi_coll_gather_description[]; -XBT_PUBLIC_DATA(int (*mpi_coll_gather_fun) - (void *, int, MPI_Datatype, void *, int, MPI_Datatype, - int, MPI_Comm)); +XBT_PUBLIC_DATA(int (*mpi_coll_gather_fun)(void *, int, MPI_Datatype, void *, int, MPI_Datatype, int, MPI_Comm)); /** \ingroup MPI allgather * \brief The list of all available allgather collectives */ XBT_PUBLIC_DATA(s_mpi_coll_description_t) mpi_coll_allgather_description[]; -XBT_PUBLIC_DATA(int (*mpi_coll_allgather_fun) - (void *, int, MPI_Datatype, void *, int, MPI_Datatype, - MPI_Comm)); +XBT_PUBLIC_DATA(int (*mpi_coll_allgather_fun) (void *, int, MPI_Datatype, void *, int, MPI_Datatype, MPI_Comm)); /** \ingroup MPI allgather * \brief The list of all available allgather collectives */ XBT_PUBLIC_DATA(s_mpi_coll_description_t) mpi_coll_allgatherv_description[]; -XBT_PUBLIC_DATA(int (*mpi_coll_allgatherv_fun) - (void *, int, MPI_Datatype, void *, int*, int*, MPI_Datatype, - MPI_Comm)); - +XBT_PUBLIC_DATA(int (*mpi_coll_allgatherv_fun) (void *, int, MPI_Datatype, void *, int*, int*, MPI_Datatype, MPI_Comm)); /** \ingroup MPI allreduce * \brief The list of all available allgather collectives */ XBT_PUBLIC_DATA(s_mpi_coll_description_t) mpi_coll_allreduce_description[]; -XBT_PUBLIC_DATA(int (*mpi_coll_allreduce_fun) - (void *sbuf, void *rbuf, int rcount, MPI_Datatype dtype, - MPI_Op op, MPI_Comm comm)); - +XBT_PUBLIC_DATA(int (*mpi_coll_allreduce_fun)(void *sbuf, void *rbuf, int rcount, MPI_Datatype dtype,MPI_Op op, + MPI_Comm comm)); /** \ingroup MPI alltoall * \brief The list of all available alltoall collectives */ XBT_PUBLIC_DATA(s_mpi_coll_description_t) mpi_coll_alltoall_description[]; -XBT_PUBLIC_DATA(int (*mpi_coll_alltoall_fun) - (void *, int, MPI_Datatype, void *, int, MPI_Datatype, - MPI_Comm)); +XBT_PUBLIC_DATA(int (*mpi_coll_alltoall_fun)(void *, int, MPI_Datatype, void *, int, MPI_Datatype, MPI_Comm)); /** \ingroup MPI alltoallv * \brief The list of all available alltoallv collectives */ XBT_PUBLIC_DATA(s_mpi_coll_description_t) mpi_coll_alltoallv_description[]; -XBT_PUBLIC_DATA(int (*mpi_coll_alltoallv_fun) - (void *, int*, int*, MPI_Datatype, void *, int*, int*, MPI_Datatype, - MPI_Comm)); - +XBT_PUBLIC_DATA(int (*mpi_coll_alltoallv_fun)(void *, int*, int*, MPI_Datatype, void *, int*, int*, MPI_Datatype, + MPI_Comm)); /** \ingroup MPI bcast * \brief The list of all available bcast collectives */ XBT_PUBLIC_DATA(s_mpi_coll_description_t) mpi_coll_bcast_description[]; -XBT_PUBLIC_DATA(int (*mpi_coll_bcast_fun) - (void *buf, int count, MPI_Datatype datatype, int root, - MPI_Comm com)); - +XBT_PUBLIC_DATA(int (*mpi_coll_bcast_fun)(void *buf, int count, MPI_Datatype datatype, int root, MPI_Comm com)); /** \ingroup MPI reduce * \brief The list of all available reduce collectives */ XBT_PUBLIC_DATA(s_mpi_coll_description_t) mpi_coll_reduce_description[]; -XBT_PUBLIC_DATA(int (*mpi_coll_reduce_fun) - (void *buf, void *rbuf, int count, MPI_Datatype datatype, - MPI_Op op, int root, MPI_Comm comm)); +XBT_PUBLIC_DATA(int (*mpi_coll_reduce_fun)(void *buf, void *rbuf, int count, MPI_Datatype datatype, + MPI_Op op, int root, MPI_Comm comm)); /** \ingroup MPI reduce_scatter * \brief The list of all available allgather collectives */ XBT_PUBLIC_DATA(s_mpi_coll_description_t) mpi_coll_reduce_scatter_description[]; -XBT_PUBLIC_DATA(int (*mpi_coll_reduce_scatter_fun) - (void *sbuf, void *rbuf, int *rcounts, +XBT_PUBLIC_DATA(int (*mpi_coll_reduce_scatter_fun) (void *sbuf, void *rbuf, int *rcounts, MPI_Datatype dtype, MPI_Op op,MPI_Comm comm)); /** \ingroup MPI scatter * \brief The list of all available allgather collectives */ XBT_PUBLIC_DATA(s_mpi_coll_description_t) mpi_coll_scatter_description[]; -XBT_PUBLIC_DATA(int (*mpi_coll_scatter_fun) - (void *sendbuf, int sendcount, MPI_Datatype sendtype, - void *recvbuf, int recvcount, MPI_Datatype recvtype, - int root, MPI_Comm comm)); +XBT_PUBLIC_DATA(int (*mpi_coll_scatter_fun)(void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)); /** \ingroup MPI barrier * \brief The list of all available allgather collectives */ XBT_PUBLIC_DATA(s_mpi_coll_description_t) mpi_coll_barrier_description[]; -XBT_PUBLIC_DATA(int (*mpi_coll_barrier_fun) - (MPI_Comm comm)); - +XBT_PUBLIC_DATA(int (*mpi_coll_barrier_fun)(MPI_Comm comm)); -XBT_PUBLIC(void) coll_help(const char *category, - s_mpi_coll_description_t * table); -XBT_PUBLIC(int) find_coll_description(s_mpi_coll_description_t * table, - char *name); +XBT_PUBLIC(void) coll_help(const char *category, s_mpi_coll_description_t * table); +XBT_PUBLIC(int) find_coll_description(s_mpi_coll_description_t * table, char *name, const char *desc); +XBT_PUBLIC_DATA(void) (*smpi_coll_cleanup_callback)(void); +XBT_PUBLIC(void) smpi_coll_cleanup_mvapich2(void); -extern double smpi_wtime_sleep; -extern double smpi_iprobe_sleep; -extern double smpi_test_sleep; +SG_END_DECL() #endif /* _SMPI_INTERFAC_H */