-/* Copyright (c) 2013-2014. The SimGrid Team.
+/* Copyright (c) 2013-2019. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
-#include "../colls_private.h"
+#include "../colls_private.hpp"
-int smpi_coll_tuned_allgather_SMP_NTS(void *sbuf, int scount,
+namespace simgrid{
+namespace smpi{
+
+
+int Coll_allgather_SMP_NTS::allgather(void *sbuf, int scount,
MPI_Datatype stype, void *rbuf,
int rcount, MPI_Datatype rtype,
MPI_Comm comm)
/* for too small number of processes, use default implementation */
if (comm_size <= num_core) {
- XBT_WARN("MPI_allgather_SMP_NTS use default MPI_allgather.");
- smpi_mpi_allgather(sbuf, scount, stype, rbuf, rcount, rtype, comm);
- return MPI_SUCCESS;
+ XBT_WARN("MPI_allgather_SMP_NTS use default MPI_allgather.");
+ Coll_allgather_default::allgather(sbuf, scount, stype, rbuf, rcount, rtype, comm);
+ return MPI_SUCCESS;
}
// the last SMP node may have fewer number of running processes than all others
}
- // INTER-SMP-ALLGATHER
+ // INTER-SMP-ALLGATHER
// Every root of each SMP node post INTER-Sendrecv, then do INTRA-Bcast for each receiving message
// Use logical ring algorithm
return MPI_SUCCESS;
}
+
+
+}
+}