+ std::clog << "\nSimulation parameters\n";
+ std::clog << o("-l value")
+ << "print current load every n lb iterations, 0 to disable"
+ << " [" << opt::log_rate << "]\n";
+ std::clog << o("-v")
+ << "verbose: do not override the default logging parameters\n";
+
+ std::clog << "\nAutomatic deployment options\n";
+ std::clog << o("-T name")
+ << "enable automatic deployment with selected topology"
+ << " [" << opt::auto_depl::topology << "]\n";
+ if (opt::help_requested > 1)
+ so_list(opt::topologies);
+ std::clog << o("-L value")
+ << "total load with auto deployment, 0 for number of hosts"
+ << " [" << opt::auto_depl::load << "]\n";
+ std::clog << o("-N value")
+ << "number of hosts to use with auto deployment, 0 for max."
+ << " [" << opt::auto_depl::nhosts << "]\n";
+
+ std::clog << "\nLoad balancing algorithm\n";
+ std::clog << o("-a name") << "load balancing algorithm"
+ << " [" << opt::loba_algo << "]\n";
+ if (opt::help_requested > 1)
+ so_list(opt::loba_algorithms);
+ std::clog << o("-b") << "toggle bookkeeping (\"virtual load\")"
+ << " [" << opt_helper::on_off(opt::bookkeeping) << "]\n";
+ std::clog << o("-s value")
+ << "minimum duration between lb. iterations"
+ << " [" << opt::min_lb_iter_duration << "]\n";
+
+ std::clog << "\nApplication parameters\n";
+ std::clog << o("-c [aN,...]a0")
+ << "polynomial factors for computation cost"
+ << " [" << opt::comp_cost.to_string() << "]\n";
+ std::clog << o("-C [aN,...]a0")
+ << "polynomial factors for communication cost"
+ << " [" << opt::comm_cost.to_string() << "]\n";
+ std::clog << o("-m value")
+ << "minimum data transfer amount"
+ << " [" << opt::min_transfer_amount << "]\n";
+ std::clog << o("-M value")
+ << "maximum data transfer amount (0 for no limit)"
+ << " [" << opt::max_transfer_amount << "]\n";
+ std::clog << o("-S value")
+ << "minimum duration between comp. iterations"
+ << " [" << opt::min_comp_iter_duration << "]\n";
+ std::clog << o("-d value")
+ << "start computations after given number of lb iterations"
+ << " [" << opt::comp_iter_delay << "]\n";
+ std::clog << o("-D value")
+ << "start computations after given time"
+ << " [" << opt::comp_time_delay << "]\n";
+
+ std::clog << "\nParameters for the end of the simulation\n";
+ std::clog << o("-i value")
+ << "maximum number of lb. iterations, 0 for infinity"
+ << " [" << opt::lb_maxiter << "]\n";
+ std::clog << o("-I value")
+ << "maximum number of comp. iterations, 0 for infinity"
+ << " [" << opt::comp_maxiter << "]\n";
+ std::clog << o("-t value")
+ << "time limit (simulated time), 0 for infinity"
+ << " [" << opt::time_limit << "]\n";
+ std::clog << o("-e") << "toggle exit on reception of \"close\" message"
+ << " [" << opt_helper::on_off(opt::exit_on_close) << "]\n";
+
+ if (opt::help_requested < 3)
+ return;
+
+ std::clog << "\nLogging support\n"
+ << " See SimGrid documentation on:\n"
+ << " http://simgrid.gforge.inria.fr/doc/group__XBT__log.html#log_user\n"
+ << " Existing categories are:\n"
+ << " simu : root of following categories\n"
+ << " main : messages from global infrastructure\n"
+ << " depl : messages from auto deployment (inherited from main)\n"
+ << " comm : messages from asynchronous pipes\n"
+ << " proc : messages from base process class\n"
+ << " loba : messages from load-balancer\n"
+ << " thrd : messages from thread wrapper class\n";
+
+ // std::clog << "\nMiscellaneous low-level parameters\n";
+
+#undef so_list
+#undef so