/* 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. */
/* 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. */
- if(smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP){ //we need to switch as the called function may silently touch global variables
- smpi_switch_data_segment(smpi_process()->index());
+ if (smpi_privatize_global_variables == SmpiPrivStrategies::Mmap) {
+ // we need to switch as the called function may silently touch global variables
+ smpi_switch_data_segment(simgrid::s4u::Actor::self());
}
MPI_Group cp = new Group(this->group());
(*newcomm) = new Comm(cp, this->topo());
}
MPI_Group cp = new Group(this->group());
(*newcomm) = new Comm(cp, this->topo());
- if(smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP){ //we need to switch as the called function may silently touch global variables
- smpi_switch_data_segment(smpi_process()->index());
+ if (smpi_privatize_global_variables == SmpiPrivStrategies::Mmap) {
+ // we need to switch as the called function may silently touch global variables
+ smpi_switch_data_segment(simgrid::s4u::Actor::self());
if (this->group()->rank(actor.iface()) != MPI_UNDEFINED) {
group_intra->set_mapping(actor.iface(), i);
i++;
if (this->group()->rank(actor.iface()) != MPI_UNDEFINED) {
group_intra->set_mapping(actor.iface(), i);
i++;
Coll_allgather_mpich::allgather(&leader, 1, MPI_INT , leaders_map, 1, MPI_INT, this);
Coll_allgather_mpich::allgather(&leader, 1, MPI_INT , leaders_map, 1, MPI_INT, this);
- if(smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP){ //we need to switch as the called function may silently touch global variables
- smpi_switch_data_segment(smpi_process()->index());
+ if (smpi_privatize_global_variables == SmpiPrivStrategies::Mmap) {
+ // we need to switch as the called function may silently touch global variables
+ smpi_switch_data_segment(simgrid::s4u::Actor::self());
if(MPI_COMM_WORLD!=MPI_COMM_UNINITIALIZED && this!=MPI_COMM_WORLD){
//create leader_communicator
for (i=0; i< leader_group_size;i++)
if(MPI_COMM_WORLD!=MPI_COMM_UNINITIALIZED && this!=MPI_COMM_WORLD){
//create leader_communicator
for (i=0; i< leader_group_size;i++)
leader_comm = new Comm(leaders_group, nullptr);
this->set_leaders_comm(leader_comm);
this->set_intra_comm(comm_intra);
leader_comm = new Comm(leaders_group, nullptr);
this->set_leaders_comm(leader_comm);
this->set_intra_comm(comm_intra);
if(this->get_leaders_comm()==MPI_COMM_NULL){
leader_comm = new Comm(leaders_group, nullptr);
if(this->get_leaders_comm()==MPI_COMM_NULL){
leader_comm = new Comm(leaders_group, nullptr);
}
Coll_bcast_mpich::bcast(&(is_uniform_),1, MPI_INT, 0, comm_intra );
}
Coll_bcast_mpich::bcast(&(is_uniform_),1, MPI_INT, 0, comm_intra );
- if(smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP){ //we need to switch as the called function may silently touch global variables
- smpi_switch_data_segment(smpi_process()->index());
+ if (smpi_privatize_global_variables == SmpiPrivStrategies::Mmap) {
+ // we need to switch as the called function may silently touch global variables
+ smpi_switch_data_segment(simgrid::s4u::Actor::self());