bool LocalData::need_more_benchs() const
{
- bool res = (count < iters) && (threshold > 0.0 && (count < 2 || // not enough data
- relstderr > threshold // stderr too high yet
- ));
+ bool res = (count < iters) && (threshold < 0.0 || count < 2 || // not enough data
+ relstderr >= threshold); // stderr too high yet
XBT_DEBUG("%s (count:%d iter:%d stderr:%f thres:%f mean:%fs)",
(res ? "need more data" : "enough benchs"), count, iters, relstderr, threshold, mean);
return res;
// Enough data, no more bench (either we got enough data from previous visits to this benched nest, or we just
//ran one bench and need to bail out now that our job is done). Just sleep instead
if (not data.need_more_benchs()){
- XBT_DEBUG("No benchmark (either no need, or just ran one): count >= iter (%d >= %d) or stderr<thres (%f<=%f). "
+ XBT_DEBUG("No benchmark (either no need, or just ran one): count (%d) >= iter (%d) (or <2) or stderr (%f) < thres (%f), or thresh is negative and ignored. "
"Mean is %f, will be injected %d times",
data.count, data.iters, data.relstderr, data.threshold, data.mean, iter_count);
> (0) Run the first computation. It's globally benched, and I want no more than 4 benchmarks (thres<0)
> (0) Run the first computation. It's globally benched, and I want no more than 4 benchmarks (thres<0)
> (1) [rank:0] Run the second (locally benched) computation. It's locally benched, and I want the standard error to go below 0.1 second (count is not >0)
-> (1) [rank:0] Run the second (locally benched) computation. It's locally benched, and I want the standard error to go below 0.1 second (count is not >0)
-> (1) [rank:1] Run the second (locally benched) computation. It's locally benched, and I want the standard error to go below 0.1 second (count is not >0)
> (1) [rank:1] Run the second (locally benched) computation. It's locally benched, and I want the standard error to go below 0.1 second (count is not >0)
> (1) [rank:2] Run the second (locally benched) computation. It's locally benched, and I want the standard error to go below 0.1 second (count is not >0)
-> (1) [rank:2] Run the second (locally benched) computation. It's locally benched, and I want the standard error to go below 0.1 second (count is not >0)
> (2) [rank:0] Done.
> (2) [rank:1] Done.
> (2) [rank:2] Done.