+
+/** \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));
+
+/** \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));
+
+/** \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));
+
+
+/** \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));
+
+
+/** \ingroup MPI alltoall