Eleminate more cut-and-paste code.

master
Christopher J. Morrone 2011-12-13 11:26:41 -08:00
parent 4c3f46ac3f
commit c56ce328f2
1 changed files with 41 additions and 86 deletions

127
src/ior.c
View File

@ -1732,14 +1732,12 @@ static struct results *ops_values(int reps, int num_tasks,
/* /*
* Summarize results, showing max rates (and min, mean, stddev if verbose) * Summarize results, showing max rates (and min, mean, stddev if verbose)
*/ */
static void PrintSummaryOneTest(IOR_test_t *test) static void PrintSummaryOneOperation(IOR_test_t *test, double *times, char *operation)
{ {
IOR_param_t *params = &test->params; IOR_param_t *params = &test->params;
IOR_results_t *results = test->results; IOR_results_t *results = test->results;
struct results *write_bw; struct results *bw;
struct results *read_bw; struct results *ops;
struct results *write_ops;
struct results *read_ops;
int reps; int reps;
int i, j; int i, j;
@ -1748,95 +1746,49 @@ static void PrintSummaryOneTest(IOR_test_t *test)
reps = params->repetitions; reps = params->repetitions;
write_bw = bw_values(reps, results->aggFileSizeForBW, results->writeTime); bw = bw_values(reps, results->aggFileSizeForBW, times);
read_bw = bw_values(reps, results->aggFileSizeForBW, results->readTime); ops = ops_values(reps, params->numTasks, params->blockSize,
write_ops = ops_values(reps, params->numTasks, params->blockSize, params->transferSize, times);
params->transferSize, results->writeTime);
read_ops = ops_values(reps, params->numTasks, params->blockSize,
params->transferSize, results->readTime);
if (params->writeFile) { fprintf(stdout, "%-10s ", operation);
fprintf(stdout, "%s ", "write"); fprintf(stdout, "%10.2f ", bw->max / MEBIBYTE);
fprintf(stdout, "%10.2f ", write_bw->max / MEBIBYTE); fprintf(stdout, "%10.2f ", bw->min / MEBIBYTE);
fprintf(stdout, "%10.2f ", write_bw->min / MEBIBYTE); fprintf(stdout, "%10.2f", bw->mean / MEBIBYTE);
fprintf(stdout, "%10.2f", write_bw->mean / MEBIBYTE); fprintf(stdout, "%10.2f ", bw->sd / MEBIBYTE);
fprintf(stdout, "%10.2f ", write_bw->sd / MEBIBYTE); fprintf(stdout, "%10.2f ", ops->max);
fprintf(stdout, "%10.2f ", write_ops->max); fprintf(stdout, "%10.2f ", ops->min);
fprintf(stdout, "%10.2f ", write_ops->min); fprintf(stdout, "%10.2f", ops->mean);
fprintf(stdout, "%10.2f", write_ops->mean); fprintf(stdout, "%10.2f", ops->sd);
fprintf(stdout, "%10.2f", write_ops->sd); fprintf(stdout, "%10.5f ",
fprintf(stdout, "%10.5f ", mean_of_array_of_doubles(times, reps));
mean_of_array_of_doubles(results->writeTime, fprintf(stdout, "%d ", params->numTasks);
params->repetitions)); fprintf(stdout, "%d ", params->tasksPerNode);
if (verbose >= VERBOSE_0) { fprintf(stdout, "%d ", params->repetitions);
fprintf(stdout, "%d ", params->numTasks); fprintf(stdout, "%d ", params->filePerProc);
fprintf(stdout, "%d ", params->tasksPerNode); fprintf(stdout, "%d ", params->reorderTasks);
fprintf(stdout, "%d ", params->repetitions); fprintf(stdout, "%d ", params->taskPerNodeOffset);
fprintf(stdout, "%d ", params->filePerProc); fprintf(stdout, "%d ", params->reorderTasksRandom);
fprintf(stdout, "%d ", params->reorderTasks); fprintf(stdout, "%d ", params->reorderTasksRandomSeed);
fprintf(stdout, "%d ", params->taskPerNodeOffset); fprintf(stdout, "%lld ", params->segmentCount);
fprintf(stdout, "%d ", fprintf(stdout, "%lld ", params->blockSize);
params->reorderTasksRandom); fprintf(stdout, "%lld ", params->transferSize);
fprintf(stdout, "%d ", fprintf(stdout, "%lld ", results->aggFileSizeForBW[0]);
params->reorderTasksRandomSeed); fprintf(stdout, "%d ", params->TestNum);
fprintf(stdout, "%lld ", params->segmentCount); fprintf(stdout, "%s ", params->api);
fprintf(stdout, "%lld ", params->blockSize); fprintf(stdout, "\n");
fprintf(stdout, "%lld ", params->transferSize);
fprintf(stdout, "%lld ",
results->aggFileSizeForBW[0]);
fprintf(stdout, "%d ", params->TestNum);
fprintf(stdout, "%s ", params->api);
}
fprintf(stdout, "\n");
}
if (params->readFile) {
fprintf(stdout, "%s ", "read");
fprintf(stdout, "%10.2f ", read_bw->max / MEBIBYTE);
fprintf(stdout, "%10.2f ", read_bw->min / MEBIBYTE);
fprintf(stdout, "%10.2f", read_bw->mean / MEBIBYTE);
fprintf(stdout, "%10.2f ", read_bw->sd / MEBIBYTE);
fprintf(stdout, "%10.2f ", read_ops->max);
fprintf(stdout, "%10.2f ", read_ops->min);
fprintf(stdout, "%10.2f", read_ops->mean);
fprintf(stdout, "%10.2f", read_ops->sd);
fprintf(stdout, "%10.5f ",
mean_of_array_of_doubles(results->readTime,
params->repetitions));
if (verbose >= VERBOSE_0) {
fprintf(stdout, "%d ", params->numTasks);
fprintf(stdout, "%d ", params->tasksPerNode);
fprintf(stdout, "%d ", params->repetitions);
fprintf(stdout, "%d ", params->filePerProc);
fprintf(stdout, "%d ", params->reorderTasks);
fprintf(stdout, "%d ", params->taskPerNodeOffset);
fprintf(stdout, "%d ",
params->reorderTasksRandom);
fprintf(stdout, "%d ",
params->reorderTasksRandomSeed);
fprintf(stdout, "%lld ", params->segmentCount);
fprintf(stdout, "%lld ", params->blockSize);
fprintf(stdout, "%lld ", params->transferSize);
fprintf(stdout, "%lld ",
results->aggFileSizeForBW[0]);
fprintf(stdout, "%d ", params->TestNum);
fprintf(stdout, "%s ", params->api);
}
fprintf(stdout, "\n");
}
fflush(stdout); fflush(stdout);
free(write_bw); free(bw);
free(write_ops); free(ops);
free(read_bw);
free(read_ops);
} }
static void PrintSummaryAllTests(IOR_test_t *tests_head) static void PrintSummaryAllTests(IOR_test_t *tests_head)
{ {
IOR_param_t *params = &tests_head->params;
IOR_results_t *results = tests_head->results;
IOR_test_t *tptr; IOR_test_t *tptr;
int i; int i;
if (rank !=0) if (rank !=0)
return; return;
@ -1846,8 +1798,11 @@ static void PrintSummaryAllTests(IOR_test_t *tests_head)
fprintf(stdout, "Operation Max(MiB) Min(MiB) Mean(MiB) StdDev Max(OPs) Min(OPs) Mean(OPs) StdDev Mean(s) #Tasks tPN reps fPP reord reordoff reordrand seed segcnt blksiz xsize aggsize TestNum API\n"); fprintf(stdout, "Operation Max(MiB) Min(MiB) Mean(MiB) StdDev Max(OPs) Min(OPs) Mean(OPs) StdDev Mean(s) #Tasks tPN reps fPP reord reordoff reordrand seed segcnt blksiz xsize aggsize TestNum API\n");
for (tptr = tests_head; tptr != NULL; tptr = tptr->next) { for (tptr = tests_head; tptr != NULL; tptr = tptr->next) {
PrintSummaryOneTest(tptr); if (params->writeFile)
} PrintSummaryOneOperation(tptr, results->writeTime, "write");
if (params->readFile)
PrintSummaryOneOperation(tptr, results->readTime, "read");
}
} }
static void PrintShortSummary(IOR_test_t * test) static void PrintShortSummary(IOR_test_t * test)