X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/895710d49f77179d9893bc76b3e31b69fae638af..18449bfffced07ec0a49297f1eb76c4fe6792895:/src/smpi/bindings/smpi_pmpi_coll.cpp diff --git a/src/smpi/bindings/smpi_pmpi_coll.cpp b/src/smpi/bindings/smpi_pmpi_coll.cpp index 586f9b7f9f..755c0dbb77 100644 --- a/src/smpi/bindings/smpi_pmpi_coll.cpp +++ b/src/smpi/bindings/smpi_pmpi_coll.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2007-2018. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2007-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. */ @@ -6,9 +6,10 @@ #include "private.hpp" #include "smpi_coll.hpp" #include "smpi_comm.hpp" +#include "smpi_request.hpp" #include "smpi_datatype_derived.hpp" #include "smpi_op.hpp" -#include "smpi_process.hpp" +#include "src/smpi/include/smpi_actor.hpp" XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(smpi_pmpi); @@ -66,6 +67,24 @@ int PMPI_Barrier(MPI_Comm comm) return retval; } +int PMPI_Ibarrier(MPI_Comm comm, MPI_Request *request) +{ + int retval = 0; + smpi_bench_end(); + if (comm == MPI_COMM_NULL) { + retval = MPI_ERR_COMM; + } else if(request == nullptr){ + retval = MPI_ERR_ARG; + }else{ + int rank = simgrid::s4u::this_actor::get_pid(); + TRACE_smpi_comm_in(rank, __func__, new simgrid::instr::NoOpTIData("ibarrier")); + simgrid::smpi::Colls::Ibarrier(comm, request); + TRACE_smpi_comm_out(rank); + } + smpi_bench_begin(); + return retval; +} + int PMPI_Gather(void *sendbuf, int sendcount, MPI_Datatype sendtype,void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) {