-
-#if HAVE_SMPI
- xbt_cfg_register_double("smpi/host-speed", 20000.0, nullptr,
- "Speed of the host running the simulation (in flop/s). Used to bench the operations.");
- simgrid::config::alias("smpi/host-speed", {"smpi/running_power", "smpi/running-power"});
-
- xbt_cfg_register_boolean("smpi/keep-temps", "no", nullptr, "Whether we should keep the generated temporary files.");
-
- xbt_cfg_register_boolean("smpi/display-timing", "no", nullptr,
- "Whether we should display the timing after simulation.");
- simgrid::config::alias("smpi/display-timing", {"smpi/display_timing"});
-
- xbt_cfg_register_boolean("smpi/simulate-computation", "yes", nullptr,
- "Whether the computational part of the simulated application should be simulated.");
- simgrid::config::alias("smpi/simulate-computation", {"smpi/simulate_computation"});
-
- xbt_cfg_register_string("smpi/shared-malloc", "global", nullptr,
- "Whether SMPI_SHARED_MALLOC is enabled. Disable it for debugging purposes.");
- simgrid::config::alias("smpi/shared-malloc", {"smpi/use_shared_malloc", "smpi/use-shared-malloc"});
- xbt_cfg_register_double("smpi/shared-malloc-blocksize", 1UL << 20, nullptr,
- "Size of the bogus file which will be created for global shared allocations");
- xbt_cfg_register_string("smpi/shared-malloc-hugepage", "", nullptr,
- "Path to a mounted hugetlbfs, to use huge pages with shared malloc.");
-
- xbt_cfg_register_double("smpi/cpu-threshold", 1e-6, nullptr,
- "Minimal computation time (in seconds) not discarded, or -1 for infinity.");
- simgrid::config::alias("smpi/cpu-threshold", {"smpi/cpu_threshold"});
-
- xbt_cfg_register_int("smpi/async-small-thresh", 0, nullptr,
- "Maximal size of messages that are to be sent asynchronously, without waiting for the receiver");
- simgrid::config::alias("smpi/async-small-thresh", {"smpi/async_small_thres", "smpi/async_small_thresh"});
-
- xbt_cfg_register_boolean("smpi/trace-call-location", "no", nullptr,
- "Should filename and linenumber of MPI calls be traced?");
-
- xbt_cfg_register_int("smpi/send-is-detached-thresh", 65536, nullptr,
- "Threshold of message size where MPI_Send stops behaving like MPI_Isend and becomes MPI_Ssend");
- simgrid::config::alias("smpi/send-is-detached-thresh",
- {"smpi/send_is_detached_thres", "smpi/send_is_detached_thresh"});
-
- const char* default_privatization = std::getenv("SMPI_PRIVATIZATION");
- if (default_privatization == nullptr)
- default_privatization = "no";
-
- xbt_cfg_register_string("smpi/privatization", default_privatization, nullptr,
- "How we should privatize global variable at runtime (no, yes, mmap, dlopen).");
-
- simgrid::config::alias("smpi/privatization", {"smpi/privatize_global_variables", "smpi/privatize-global-variables"});
-
- xbt_cfg_register_boolean("smpi/grow-injected-times", "yes", nullptr,
- "Whether we want to make the injected time in MPI_Iprobe and MPI_Test grow, to allow faster "
- "simulation. This can make simulation less precise, though.");
-
-#if HAVE_PAPI
- xbt_cfg_register_string("smpi/papi-events", nullptr, nullptr,
- "This switch enables tracking the specified counters with PAPI");
-#endif
- xbt_cfg_register_string("smpi/comp-adjustment-file", nullptr, nullptr,
- "A file containing speedups or slowdowns for some parts of the code.");
- xbt_cfg_register_string("smpi/os", "0:0:0:0:0", nullptr,
- "Small messages timings (MPI_Send minimum time for small messages)");
- xbt_cfg_register_string("smpi/ois", "0:0:0:0:0", nullptr,
- "Small messages timings (MPI_Isend minimum time for small messages)");
- xbt_cfg_register_string("smpi/or", "0:0:0:0:0", nullptr,
- "Small messages timings (MPI_Recv minimum time for small messages)");
-
- xbt_cfg_register_double("smpi/iprobe-cpu-usage", 1, nullptr, "Maximum usage of CPUs by MPI_Iprobe() calls. We've "
- "observed that MPI_Iprobes consume significantly less "
- "power than the maximum of a specific application. This "
- "value is then (Iprobe_Usage/Max_Application_Usage).");
-
- xbt_cfg_register_string("smpi/coll-selector", "default", nullptr, "Which collective selector to use");
- simgrid::config::alias("smpi/coll-selector", {"smpi/coll_selector"});
- xbt_cfg_register_string("smpi/gather", nullptr, nullptr, "Which collective to use for gather");
- xbt_cfg_register_string("smpi/allgather", nullptr, nullptr, "Which collective to use for allgather");
- xbt_cfg_register_string("smpi/barrier", nullptr, nullptr, "Which collective to use for barrier");
- xbt_cfg_register_string("smpi/reduce_scatter", nullptr, nullptr, "Which collective to use for reduce_scatter");
- simgrid::config::alias("smpi/reduce_scatter", {"smpi/reduce-scatter"});
- xbt_cfg_register_string("smpi/scatter", nullptr, nullptr, "Which collective to use for scatter");
- xbt_cfg_register_string("smpi/allgatherv", nullptr, nullptr, "Which collective to use for allgatherv");
- xbt_cfg_register_string("smpi/allreduce", nullptr, nullptr, "Which collective to use for allreduce");
- xbt_cfg_register_string("smpi/alltoall", nullptr, nullptr, "Which collective to use for alltoall");
- xbt_cfg_register_string("smpi/alltoallv", nullptr, nullptr, "Which collective to use for alltoallv");
- xbt_cfg_register_string("smpi/bcast", nullptr, nullptr, "Which collective to use for bcast");
- xbt_cfg_register_string("smpi/reduce", nullptr, nullptr, "Which collective to use for reduce");
-#endif // HAVE_SMPI
-
- /* Storage */
-
- sg_storage_max_file_descriptors = 1024;
- simgrid::config::bindFlag(sg_storage_max_file_descriptors, "storage/max_file_descriptors",
- "Maximum number of concurrently opened files per host. Default is 1024");
-