From: SUTER Frederic Date: Thu, 3 Feb 2022 19:01:09 +0000 (+0100) Subject: let SMPI use old simcalls for now X-Git-Tag: v3.31~507 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/5db7696c3ba0882fe3b4cb5e71a6b468c199845e let SMPI use old simcalls for now --- diff --git a/src/smpi/mpi/smpi_request.cpp b/src/smpi/mpi/smpi_request.cpp index b95e3618dc..3dfd3c5e24 100644 --- a/src/smpi/mpi/smpi_request.cpp +++ b/src/smpi/mpi/smpi_request.cpp @@ -628,21 +628,28 @@ void Request::start() } size_t payload_size_ = size_ + 16;//MPI enveloppe size (tag+dest+communicator) - kernel::actor::CommIsendSimcall observer{ - simgrid::kernel::actor::ActorImpl::by_pid(src_), mailbox->get_impl(), payload_size_, -1, - static_cast(buf), real_size_, &match_send, - &xbt_free_f, // how to free the userdata if a detached send fails + action_ = simcall_comm_isend( + simgrid::kernel::actor::ActorImpl::by_pid(src_), mailbox->get_impl(), payload_size_, -1.0, buf, real_size_, + &match_send, + &xbt_free_f, // how to free the userdata if a detached send fails process->replaying() ? &smpi_comm_null_copy_buffer_callback : smpi_comm_copy_data_callback, this, - // detach if msg size < eager/rdv switch limit - detached_}; - action_ = kernel::actor::simcall_blocking( - [&observer] { - return kernel::activity::CommImpl::isend( - observer.get_issuer(), observer.get_mailbox(), observer.get_payload_size(), observer.get_rate(), - observer.get_src_buff(), observer.get_src_buff_size(), observer.match_fun_, observer.clean_fun_, - observer.copy_data_fun_, observer.get_payload(), observer.is_detached()); - }, - &observer); + // detach if msg size < eager/rdv switch limit + detached_); + // kernel::actor::CommIsendSimcall observer{ + // simgrid::kernel::actor::ActorImpl::by_pid(src_), mailbox->get_impl(), payload_size_, -1, + // static_cast(buf), real_size_, &match_send, + // &xbt_free_f, // how to free the userdata if a detached send fails + // process->replaying() ? &smpi_comm_null_copy_buffer_callback : smpi_comm_copy_data_callback, this, + // // detach if msg size < eager/rdv switch limit + // detached_}; + // action_ = kernel::actor::simcall_blocking( + // [&observer] { + // return kernel::activity::CommImpl::isend( + // observer.get_issuer(), observer.get_mailbox(), observer.get_payload_size(), observer.get_rate(), + // observer.get_src_buff(), observer.get_src_buff_size(), observer.match_fun_, observer.clean_fun_, + // observer.copy_data_fun_, observer.get_payload(), observer.is_detached()); + // }, + // &observer); XBT_DEBUG("send simcall posted"); /* FIXME: detached sends are not traceable (action_ == nullptr) */