X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/e3c678215b3df16d01f50325c346b8845930552c..7392b187b59a5049eca85891ebd8a202d8d4e1ca:/options.cpp diff --git a/options.cpp b/options.cpp index 827a064..fd9b8f7 100644 --- a/options.cpp +++ b/options.cpp @@ -170,13 +170,14 @@ bool opt::parse_args(int* argc, char* argv[]) int c; opterr = 0; - while ((c = getopt(*argc, argv, "a:bc:C:ehi:I:l:L:N:T:vV")) != -1) { + while ((c = getopt(*argc, argv, "a:bc:C:ehi:I:l:L:N:s:T:vV")) != -1) { switch (c) { case 'a': opt::loba_algo = optarg; result = opt_helper::nol_find_prefix(opt::loba_algorithms, "load balancing algorithm", - opt::loba_algo); + opt::loba_algo) + && result; break; case 'b': opt::bookkeeping = true; @@ -210,10 +211,14 @@ bool opt::parse_args(int* argc, char* argv[]) case 'N': std::istringstream(optarg) >> opt::auto_depl::nhosts; break; + case 's': + std::istringstream(optarg) >> communicator::send_count_before_flush; + break; case 'T': opt::auto_depl::topology = optarg; result = opt_helper::nol_find_prefix(opt::topologies, "topology", - opt::auto_depl::topology); + opt::auto_depl::topology) + && result; break; case 'v': // nothing to do: this option is checked at the very @@ -280,6 +285,8 @@ void opt::print() DESCR("maximum number of lb. iterations", "%s", h.val_or_string(lb_maxiter, "infinity")); DESCR("exit on close", "%s", h.on_off(exit_on_close)); + DESCR("send count before flush", "%d", + communicator::send_count_before_flush); INFO0("`----"); #undef DESCR @@ -369,6 +376,11 @@ void opt::usage() << " proc : messages from base process class\n" << " loba : messages from load-balancer\n"; + std::clog << "\nMiscellaneous low-level parameters\n"; + std::clog << o("-s count") + << "check for finished comm. every `count' send operation" + << " (" << communicator::send_count_before_flush << ")\n"; + #undef so_list #undef so #undef o