#include "src/msg/msg_private.hpp"
#include "src/simix/smx_private.hpp"
#include "xbt/config.hpp"
#include "src/msg/msg_private.hpp"
#include "src/simix/smx_private.hpp"
#include "xbt/config.hpp"
using simgrid::s4u::ActorPtr;
std::unordered_map<std::string, double> location2speedup;
using simgrid::s4u::ActorPtr;
std::unordered_map<std::string, double> location2speedup;
{
ActorPtr me = Actor::self();
if (me == nullptr) // This happens sometimes (eg, when linking against NS3 because it pulls openMPI...)
return nullptr;
simgrid::msg::ActorExt* msgExt = static_cast<simgrid::msg::ActorExt*>(me->get_impl()->get_user_data());
{
ActorPtr me = Actor::self();
if (me == nullptr) // This happens sometimes (eg, when linking against NS3 because it pulls openMPI...)
return nullptr;
simgrid::msg::ActorExt* msgExt = static_cast<simgrid::msg::ActorExt*>(me->get_impl()->get_user_data());
if (smpi_privatize_global_variables == SmpiPrivStrategies::MMAP)
smpi_destroy_global_memory_segments();
smpi_free_static();
if (smpi_privatize_global_variables == SmpiPrivStrategies::MMAP)
smpi_destroy_global_memory_segments();
smpi_free_static();
simgrid::smpi::Colls::smpi_coll_cleanup_callback = nullptr;
smpi_cpu_threshold = simgrid::config::get_value<double>("smpi/cpu-threshold");
smpi_host_speed = simgrid::config::get_value<double>("smpi/host-speed");
simgrid::smpi::Colls::smpi_coll_cleanup_callback = nullptr;
smpi_cpu_threshold = simgrid::config::get_value<double>("smpi/cpu-threshold");
smpi_host_speed = simgrid::config::get_value<double>("smpi/host-speed");
- xbt_assert(smpi_host_speed >= 0, "You're trying to set the host_speed to a negative value (%f)", smpi_host_speed);
+ xbt_assert(smpi_host_speed > 0.0, "You're trying to set the host_speed to a non-positive value (given: %f)", smpi_host_speed);
std::string smpi_privatize_option = simgrid::config::get_value<std::string>("smpi/privatization");
if (smpi_privatize_option == "no" || smpi_privatize_option == "0")
smpi_privatize_global_variables = SmpiPrivStrategies::NONE;
std::string smpi_privatize_option = simgrid::config::get_value<std::string>("smpi/privatization");
if (smpi_privatize_option == "no" || smpi_privatize_option == "0")
smpi_privatize_global_variables = SmpiPrivStrategies::NONE;
void SMPI_init(){
simgrid::s4u::Actor::on_creation.connect([](simgrid::s4u::ActorPtr actor) {
if (not actor->is_daemon()) {
void SMPI_init(){
simgrid::s4u::Actor::on_creation.connect([](simgrid::s4u::ActorPtr actor) {
if (not actor->is_daemon()) {