commit
7a371cfeda
46
src/ior.c
46
src/ior.c
|
@ -1690,6 +1690,41 @@ static struct results *bw_values(int reps, IOR_offset_t *agg_file_size, double *
|
|||
return r;
|
||||
}
|
||||
|
||||
static struct results *ops_values(int reps, IOR_offset_t *agg_file_size,
|
||||
IOR_offset_t transfer_size,
|
||||
double *vals)
|
||||
{
|
||||
struct results *r;
|
||||
int i;
|
||||
|
||||
r = (struct results *)malloc(sizeof(struct results)
|
||||
+ (reps * sizeof(double)));
|
||||
if (r == NULL)
|
||||
ERR("malloc failed");
|
||||
r->val = (double *)&r[1];
|
||||
|
||||
for (i = 0; i < reps; i++) {
|
||||
r->val[i] = (double)agg_file_size[i] / transfer_size / vals[i];
|
||||
if (i == 0) {
|
||||
r->min = r->val[i];
|
||||
r->max = r->val[i];
|
||||
r->sum = 0.0;
|
||||
}
|
||||
r->min = MIN(r->min, r->val[i]);
|
||||
r->max = MAX(r->max, r->val[i]);
|
||||
r->sum += r->val[i];
|
||||
}
|
||||
r->mean = r->sum / reps;
|
||||
r->var = 0.0;
|
||||
for (i = 0; i < reps; i++) {
|
||||
r->var += pow((r->mean - r->val[i]), 2);
|
||||
}
|
||||
r->var = r->var / reps;
|
||||
r->sd = sqrt(r->var);
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
/*
|
||||
* Summarize results
|
||||
*
|
||||
|
@ -1700,6 +1735,7 @@ static void PrintLongSummaryOneOperation(IOR_test_t *test, double *times, char *
|
|||
IOR_param_t *params = &test->params;
|
||||
IOR_results_t *results = test->results;
|
||||
struct results *bw;
|
||||
struct results *ops;
|
||||
int reps;
|
||||
|
||||
if (rank != 0 || verbose < VERBOSE_0)
|
||||
|
@ -1708,12 +1744,18 @@ static void PrintLongSummaryOneOperation(IOR_test_t *test, double *times, char *
|
|||
reps = params->repetitions;
|
||||
|
||||
bw = bw_values(reps, results->aggFileSizeForBW, times);
|
||||
ops = ops_values(reps, results->aggFileSizeForBW,
|
||||
params->transferSize, times);
|
||||
|
||||
fprintf(stdout, "%-9s ", operation);
|
||||
fprintf(stdout, "%10.2f ", bw->max / MEBIBYTE);
|
||||
fprintf(stdout, "%10.2f ", bw->min / MEBIBYTE);
|
||||
fprintf(stdout, "%10.2f ", bw->mean / MEBIBYTE);
|
||||
fprintf(stdout, "%10.2f ", bw->sd / MEBIBYTE);
|
||||
fprintf(stdout, "%10.2f ", ops->max);
|
||||
fprintf(stdout, "%10.2f ", ops->min);
|
||||
fprintf(stdout, "%10.2f ", ops->mean);
|
||||
fprintf(stdout, "%10.2f ", ops->sd);
|
||||
fprintf(stdout, "%10.5f ",
|
||||
mean_of_array_of_doubles(times, reps));
|
||||
fprintf(stdout, "%d ", params->id);
|
||||
|
@ -1735,6 +1777,7 @@ static void PrintLongSummaryOneOperation(IOR_test_t *test, double *times, char *
|
|||
fflush(stdout);
|
||||
|
||||
free(bw);
|
||||
free(ops);
|
||||
}
|
||||
|
||||
static void PrintLongSummaryOneTest(IOR_test_t *test)
|
||||
|
@ -1754,8 +1797,9 @@ static void PrintLongSummaryHeader()
|
|||
return;
|
||||
|
||||
fprintf(stdout, "\n");
|
||||
fprintf(stdout, "%-9s %10s %10s %10s %10s %10s",
|
||||
fprintf(stdout, "%-9s %10s %10s %10s %10s %10s %10s %10s %10s %10s",
|
||||
"Operation", "Max(MiB)", "Min(MiB)", "Mean(MiB)", "StdDev",
|
||||
"Max(OPs)", "Min(OPs)", "Mean(OPs)", "StdDev",
|
||||
"Mean(s)");
|
||||
fprintf(stdout, " Test# #Tasks tPN reps fPP reord reordoff reordrand seed"
|
||||
" segcnt blksiz xsize aggsize API RefNum\n");
|
||||
|
|
Loading…
Reference in New Issue