- xbt_cfg_register_double(&_sg_cfg_set, "smpi/running_power",
- "Power of the host running the simulation (in flop/s). Used to bench the operations.", 20000.0, NULL);
-
- xbt_cfg_register_boolean(&_sg_cfg_set, "smpi/display_timing",
- "Boolean indicating whether we should display the timing after simulation.", "no", NULL);
-
- xbt_cfg_register_boolean(&_sg_cfg_set, "smpi/simulate_computation",
- "Boolean indicating whether the computational part of the simulated application should be simulated.", "yes", NULL);
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/use_shared_malloc",
- "Boolean indicating whether we should use shared memory when using SMPI_SHARED_MALLOC. Allows user to disable it for debug purposes.",
- xbt_cfgelm_boolean, 1, 1, NULL);
- xbt_cfg_setdefault_boolean(_sg_cfg_set, "smpi/use_shared_malloc", "yes");
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/cpu_threshold",
- "Minimal computation time (in seconds) not discarded, or -1 for infinity.",
- xbt_cfgelm_double, 1, 1, NULL);
- xbt_cfg_setdefault_double(_sg_cfg_set, "smpi/cpu_threshold", 1e-6);
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/async_small_thresh",
- "Maximal size of messages that are to be sent asynchronously, without waiting for the receiver",
- xbt_cfgelm_int, 1, 1, NULL);
- xbt_cfg_setdefault_int(_sg_cfg_set, "smpi/async_small_thresh", 0);
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/send_is_detached_thresh",
- "Threshold of message size where MPI_Send stops behaving like MPI_Isend and becomes MPI_Ssend",
- xbt_cfgelm_int, 1, 1, NULL);
- xbt_cfg_setdefault_int(_sg_cfg_set, "smpi/send_is_detached_thresh", 65536);
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/privatize_global_variables",
- "Boolean indicating whether we should privatize global variable at runtime.",
- xbt_cfgelm_boolean, 1, 1, NULL);
- xbt_cfg_setdefault_boolean(_sg_cfg_set, "smpi/privatize_global_variables", "no");
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/os",
- "Small messages timings (MPI_Send minimum time for small messages)",
- xbt_cfgelm_string, 1, 1, NULL);
- xbt_cfg_setdefault_string(_sg_cfg_set, "smpi/os", "1:0:0:0:0");
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/ois",
- "Small messages timings (MPI_Isend minimum time for small messages)",
- xbt_cfgelm_string, 1, 1, NULL);
- xbt_cfg_setdefault_string(_sg_cfg_set, "smpi/ois", "1:0:0:0:0");
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/or",
- "Small messages timings (MPI_Recv minimum time for small messages)",
- xbt_cfgelm_string, 1, 1, NULL);
- xbt_cfg_setdefault_string(_sg_cfg_set, "smpi/or", "1:0:0:0:0");
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/iprobe",
- "Minimum time to inject inside a call to MPI_Iprobe",
- xbt_cfgelm_double, 1, 1, _sg_cfg_cb__iprobe_sleep);
- xbt_cfg_setdefault_double(_sg_cfg_set, "smpi/iprobe", 1e-4);
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/test",
- "Minimum time to inject inside a call to MPI_Test",
- xbt_cfgelm_double, 1, 1, _sg_cfg_cb__test_sleep);
- xbt_cfg_setdefault_double(_sg_cfg_set, "smpi/test", 1e-4);
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/wtime",
- "Minimum time to inject inside a call to MPI_Wtime",
- xbt_cfgelm_double, 1, 1, _sg_cfg_cb__wtime_sleep);
- xbt_cfg_setdefault_double(_sg_cfg_set, "smpi/wtime", 0.0);
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/coll_selector",
- "Which collective selector to use",
- xbt_cfgelm_string, 1, 1, NULL);
- xbt_cfg_setdefault_string(_sg_cfg_set, "smpi/coll_selector", "default");
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/gather",
- "Which collective to use for gather",
- xbt_cfgelm_string, 0, 1, &_sg_cfg_cb__coll_gather);
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/allgather",
- "Which collective to use for allgather",
- xbt_cfgelm_string, 0, 1, &_sg_cfg_cb__coll_allgather);
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/barrier",
- "Which collective to use for barrier",
- xbt_cfgelm_string, 0, 1, &_sg_cfg_cb__coll_barrier);
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/reduce_scatter",
- "Which collective to use for reduce_scatter",
- xbt_cfgelm_string, 0, 1, &_sg_cfg_cb__coll_reduce_scatter);
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/scatter",
- "Which collective to use for scatter",
- xbt_cfgelm_string, 0, 1, &_sg_cfg_cb__coll_scatter);
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/allgatherv",
- "Which collective to use for allgatherv",
- xbt_cfgelm_string, 0, 1, &_sg_cfg_cb__coll_allgatherv);
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/allreduce",
- "Which collective to use for allreduce",
- xbt_cfgelm_string, 0, 1, &_sg_cfg_cb__coll_allreduce);
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/alltoall",
- "Which collective to use for alltoall",
- xbt_cfgelm_string, 0, 1, &_sg_cfg_cb__coll_alltoall);
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/alltoallv",
- "Which collective to use for alltoallv",
- xbt_cfgelm_string, 0, 1, &_sg_cfg_cb__coll_alltoallv);
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/bcast",
- "Which collective to use for bcast",
- xbt_cfgelm_string, 0, 1, &_sg_cfg_cb__coll_bcast);
-
- xbt_cfg_register(&_sg_cfg_set, "smpi/reduce",
- "Which collective to use for reduce",
- xbt_cfgelm_string, 0, 1, &_sg_cfg_cb__coll_reduce);
+ 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.");
+ xbt_cfg_register_alias("smpi/host-speed","smpi/running_power");
+ xbt_cfg_register_alias("smpi/host-speed","smpi/running-power");
+
+ xbt_cfg_register_boolean("smpi/display-timing", "no", nullptr, "Whether we should display the timing after simulation.");
+ xbt_cfg_register_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.");
+ xbt_cfg_register_alias("smpi/simulate-computation","smpi/simulate_computation");
+
+ xbt_cfg_register_boolean("smpi/use-shared-malloc", "yes", nullptr, "Whether SMPI_SHARED_MALLOC is enabled. Disable it for debugging purposes.");
+ xbt_cfg_register_alias("smpi/use-shared-malloc", "smpi/use_shared_malloc");
+
+ xbt_cfg_register_double("smpi/cpu-threshold", 1e-6, nullptr, "Minimal computation time (in seconds) not discarded, or -1 for infinity.");
+ xbt_cfg_register_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");
+ xbt_cfg_register_alias("smpi/async-small-thresh","smpi/async_small_thresh");
+ xbt_cfg_register_alias("smpi/async-small-thresh","smpi/async_small_thres");
+
+ 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");
+ xbt_cfg_register_alias("smpi/send-is-detached-thresh","smpi/send_is_detached_thresh");
+ xbt_cfg_register_alias("smpi/send-is-detached-thresh","smpi/send_is_detached_thres");
+
+ xbt_cfg_register_boolean("smpi/privatize-global-variables", "no", nullptr, "Whether we should privatize global variable at runtime.");
+ xbt_cfg_register_alias("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_string("smpi/coll-selector", "default", nullptr, "Which collective selector to use");
+ xbt_cfg_register_alias("smpi/coll-selector","smpi/coll_selector");
+ xbt_cfg_register_string("smpi/gather", nullptr, &_check_coll_gather, "Which collective to use for gather");
+ xbt_cfg_register_string("smpi/allgather", nullptr, &_check_coll_allgather, "Which collective to use for allgather");
+ xbt_cfg_register_string("smpi/barrier", nullptr, &_check_coll_barrier, "Which collective to use for barrier");
+ xbt_cfg_register_string("smpi/reduce-scatter",nullptr, &_check_coll_reduce_scatter, "Which collective to use for reduce_scatter");
+ xbt_cfg_register_alias("smpi/reduce-scatter","smpi/reduce_scatter");
+ xbt_cfg_register_string("smpi/scatter", nullptr, &_check_coll_scatter, "Which collective to use for scatter");
+ xbt_cfg_register_string("smpi/allgatherv", nullptr, &_check_coll_allgatherv, "Which collective to use for allgatherv");
+ xbt_cfg_register_string("smpi/allreduce", nullptr, &_check_coll_allreduce, "Which collective to use for allreduce");
+ xbt_cfg_register_string("smpi/alltoall", nullptr, &_check_coll_alltoall, "Which collective to use for alltoall");
+ xbt_cfg_register_string("smpi/alltoallv", nullptr, &_check_coll_alltoallv,"Which collective to use for alltoallv");
+ xbt_cfg_register_string("smpi/bcast", nullptr, &_check_coll_bcast, "Which collective to use for bcast");
+ xbt_cfg_register_string("smpi/reduce", nullptr, &_check_coll_reduce, "Which collective to use for reduce");