IOR
Functions | Variables
ior-output.c File Reference
#include <sys/utsname.h>
#include <math.h>
#include <stddef.h>
#include "ior.h"
#include "ior-internal.h"
#include "utilities.h"
Include dependency graph for ior-output.c:

Go to the source code of this file.

Functions

static struct resultsbw_values (int reps, IOR_results_t *measured, int offset, double *vals)
 
static struct resultsops_values (int reps, IOR_results_t *measured, int offset, IOR_offset_t transfer_size, double *vals)
 
static double mean_of_array_of_doubles (double *values, int len)
 
static void PPDouble (int leftjustify, double number, char *append)
 
static void PrintNextToken ()
 
void PrintTableHeader ()
 
static void PrintIndent ()
 
static void PrintKeyValStart (char *key)
 
static void PrintKeyValEnd ()
 
static void PrintKeyVal (char *key, char *value)
 
static void PrintKeyValDouble (char *key, double value)
 
static void PrintKeyValInt (char *key, int64_t value)
 
static void PrintStartSection ()
 
static void PrintNamedSectionStart (char *key)
 
static void PrintNamedArrayStart (char *key)
 
static void PrintEndSection ()
 
static void PrintArrayStart ()
 
static void PrintArrayNamedStart (char *key)
 
static void PrintArrayEnd ()
 
void PrintRepeatEnd ()
 
void PrintRepeatStart ()
 
void PrintTestEnds ()
 
void PrintReducedResult (IOR_test_t *test, int access, double bw, double *diff_subset, double totalTime, int rep)
 
void PrintEarlyHeader ()
 
void PrintHeader (int argc, char **argv)
 
void ShowTestStart (IOR_param_t *test)
 
void ShowTestEnd (IOR_test_t *tptr)
 
void ShowSetup (IOR_param_t *params)
 
static void PrintLongSummaryOneOperation (IOR_test_t *test, int times_offset, char *operation)
 
void PrintLongSummaryOneTest (IOR_test_t *test)
 
void PrintLongSummaryHeader ()
 
void PrintLongSummaryAllTests (IOR_test_t *tests_head)
 
void PrintShortSummary (IOR_test_t *test)
 
void DisplayFreespace (IOR_param_t *test)
 
void PrintRemoveTiming (double start, double finish, int rep)
 

Variables

char ** environ
 
static int indent = 0
 
static int needNextToken = 0
 

Function Documentation

◆ bw_values()

static struct results * bw_values ( int  reps,
IOR_results_t measured,
int  offset,
double *  vals 
)
static

Definition at line 740 of file ior-output.c.

References ERR, results::max, results::mean, results::min, NULL, results::sd, results::sum, results::val, and results::var.

Referenced by PrintLongSummaryOneOperation().

Here is the caller graph for this function:

◆ DisplayFreespace()

void DisplayFreespace ( IOR_param_t test)

Definition at line 662 of file ior-output.c.

References FALSE, GetTestFileName(), MAX_STR, ShowFileSystemSize(), and TRUE.

Referenced by ShowTestStart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mean_of_array_of_doubles()

static double mean_of_array_of_doubles ( double *  values,
int  len 
)
static

Definition at line 810 of file ior-output.c.

Referenced by PrintLongSummaryOneOperation().

Here is the caller graph for this function:

◆ ops_values()

static struct results * ops_values ( int  reps,
IOR_results_t measured,
int  offset,
IOR_offset_t  transfer_size,
double *  vals 
)
static

Definition at line 773 of file ior-output.c.

References ERR, results::max, results::mean, results::min, NULL, results::sd, results::sum, results::val, and results::var.

Referenced by PrintLongSummaryOneOperation().

Here is the caller graph for this function:

◆ PPDouble()

static void PPDouble ( int  leftjustify,
double  number,
char *  append 
)
static

Definition at line 713 of file ior-output.c.

References out_resultfile.

Referenced by PrintReducedResult(), and PrintRemoveTiming().

Here is the caller graph for this function:

◆ PrintArrayEnd()

static void PrintArrayEnd ( )
static

Definition at line 181 of file ior-output.c.

References indent, needNextToken, out_resultfile, OUTPUT_JSON, and outputFormat.

Referenced by PrintLongSummaryAllTests(), PrintRepeatEnd(), and PrintShortSummary().

Here is the caller graph for this function:

◆ PrintArrayNamedStart()

static void PrintArrayNamedStart ( char *  key)
static

Definition at line 173 of file ior-output.c.

References needNextToken, out_resultfile, OUTPUT_JSON, outputFormat, and PrintNextToken().

Referenced by PrintHeader().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintArrayStart()

static void PrintArrayStart ( )
static

Definition at line 165 of file ior-output.c.

References needNextToken, out_resultfile, OUTPUT_JSON, outputFormat, and PrintNextToken().

Referenced by PrintRepeatStart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintEarlyHeader()

void PrintEarlyHeader ( )

Definition at line 241 of file ior-output.c.

References out_resultfile, and rank.

Referenced by ior_main(), and ior_run().

Here is the caller graph for this function:

◆ PrintEndSection()

static void PrintEndSection ( )
static

Definition at line 155 of file ior-output.c.

References indent, needNextToken, out_resultfile, OUTPUT_JSON, outputFormat, and PrintIndent().

Referenced by PrintLongSummaryOneOperation(), PrintReducedResult(), PrintRemoveTiming(), PrintShortSummary(), PrintTestEnds(), ShowSetup(), ShowTestEnd(), and ShowTestStart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintHeader()

void PrintHeader ( int  argc,
char **  argv 
)

Definition at line 250 of file ior-output.c.

References CurrentTimeString(), environ, EWARN, NULL, out_logfile, out_resultfile, PrintArrayNamedStart(), PrintKeyVal(), PrintKeyValEnd(), PrintKeyValStart(), PrintStartSection(), rank, verbose, VERBOSE_1, VERBOSE_2, VERBOSE_3, and wall_clock_deviation.

Referenced by ior_main(), and ior_run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintIndent()

static void PrintIndent ( )
static

Definition at line 31 of file ior-output.c.

References indent, out_resultfile, OUTPUT_JSON, and outputFormat.

Referenced by PrintEndSection(), PrintKeyValStart(), PrintNextToken(), and PrintStartSection().

Here is the caller graph for this function:

◆ PrintKeyVal()

static void PrintKeyVal ( char *  key,
char *  value 
)
static

Definition at line 75 of file ior-output.c.

References needNextToken, NULL, out_resultfile, OUTPUT_CSV, OUTPUT_DEFAULT, OUTPUT_JSON, outputFormat, and PrintNextToken().

Referenced by PrintHeader(), PrintLongSummaryOneOperation(), PrintReducedResult(), PrintRemoveTiming(), PrintTestEnds(), ShowSetup(), and ShowTestStart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintKeyValDouble()

static void PrintKeyValDouble ( char *  key,
double  value 
)
static

Definition at line 93 of file ior-output.c.

References needNextToken, out_resultfile, OUTPUT_CSV, OUTPUT_DEFAULT, OUTPUT_JSON, outputFormat, and PrintNextToken().

Referenced by PrintLongSummaryOneOperation(), PrintReducedResult(), PrintRemoveTiming(), and PrintShortSummary().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintKeyValEnd()

static void PrintKeyValEnd ( )
static

Definition at line 65 of file ior-output.c.

References needNextToken, out_resultfile, OUTPUT_DEFAULT, OUTPUT_JSON, and outputFormat.

Referenced by PrintHeader().

Here is the caller graph for this function:

◆ PrintKeyValInt()

static void PrintKeyValInt ( char *  key,
int64_t  value 
)
static

Definition at line 108 of file ior-output.c.

References needNextToken, out_resultfile, OUTPUT_CSV, OUTPUT_DEFAULT, OUTPUT_JSON, outputFormat, and PrintNextToken().

Referenced by PrintLongSummaryOneOperation(), ShowSetup(), and ShowTestStart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintKeyValStart()

static void PrintKeyValStart ( char *  key)
static

Definition at line 41 of file ior-output.c.

References out_resultfile, OUTPUT_CSV, OUTPUT_DEFAULT, OUTPUT_JSON, outputFormat, PrintIndent(), and PrintNextToken().

Referenced by PrintHeader().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintLongSummaryAllTests()

void PrintLongSummaryAllTests ( IOR_test_t tests_head)

Definition at line 585 of file ior-output.c.

References IOR_test_t::next, NULL, out_resultfile, OUTPUT_CSV, OUTPUT_DEFAULT, OUTPUT_JSON, outputFormat, PrintArrayEnd(), PrintLongSummaryHeader(), PrintLongSummaryOneTest(), PrintNamedArrayStart(), rank, verbose, and VERBOSE_0.

Referenced by ior_main(), and ior_run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintLongSummaryHeader()

void PrintLongSummaryHeader ( )

Definition at line 566 of file ior-output.c.

References out_resultfile, OUTPUT_DEFAULT, outputFormat, rank, verbose, and VERBOSE_0.

Referenced by PrintLongSummaryAllTests(), and TestIoSys().

Here is the caller graph for this function:

◆ PrintLongSummaryOneOperation()

static void PrintLongSummaryOneOperation ( IOR_test_t test,
int  times_offset,
char *  operation 
)
static

◆ PrintLongSummaryOneTest()

void PrintLongSummaryOneTest ( IOR_test_t test)

Definition at line 556 of file ior-output.c.

References IOR_test_t::params, PrintLongSummaryOneOperation(), IOR_param_t::readFile, and IOR_param_t::writeFile.

Referenced by PrintLongSummaryAllTests(), and TestIoSys().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintNamedArrayStart()

static void PrintNamedArrayStart ( char *  key)
static

Definition at line 144 of file ior-output.c.

References indent, needNextToken, out_resultfile, OUTPUT_DEFAULT, OUTPUT_JSON, outputFormat, and PrintNextToken().

Referenced by PrintLongSummaryAllTests(), and ShowSetup().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintNamedSectionStart()

static void PrintNamedSectionStart ( char *  key)
static

Definition at line 132 of file ior-output.c.

References indent, needNextToken, out_resultfile, OUTPUT_DEFAULT, OUTPUT_JSON, outputFormat, and PrintNextToken().

Referenced by PrintShortSummary(), ShowSetup(), and ShowTestStart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintNextToken()

static void PrintNextToken ( )
static

Definition at line 55 of file ior-output.c.

References needNextToken, out_resultfile, OUTPUT_JSON, outputFormat, and PrintIndent().

Referenced by PrintArrayNamedStart(), PrintArrayStart(), PrintKeyVal(), PrintKeyValDouble(), PrintKeyValInt(), PrintKeyValStart(), PrintNamedArrayStart(), PrintNamedSectionStart(), and PrintStartSection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintReducedResult()

void PrintReducedResult ( IOR_test_t test,
int  access,
double  bw,
double *  diff_subset,
double  totalTime,
int  rep 
)

Definition at line 210 of file ior-output.c.

References IOR_param_t::blockSize, KIBIBYTE, MEBIBYTE, out_resultfile, OUTPUT_DEFAULT, OUTPUT_JSON, outputFormat, IOR_test_t::params, PPDouble(), PrintEndSection(), PrintKeyVal(), PrintKeyValDouble(), PrintStartSection(), IOR_param_t::transferSize, and WRITE.

Referenced by ReduceIterResults().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintRemoveTiming()

void PrintRemoveTiming ( double  start,
double  finish,
int  rep 
)

Definition at line 690 of file ior-output.c.

References out_resultfile, OUTPUT_DEFAULT, OUTPUT_JSON, outputFormat, PPDouble(), PrintEndSection(), PrintKeyVal(), PrintKeyValDouble(), PrintStartSection(), rank, verbose, and VERBOSE_0.

Referenced by TestIoSys().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintRepeatEnd()

void PrintRepeatEnd ( )

Definition at line 189 of file ior-output.c.

References PrintArrayEnd().

Referenced by TestIoSys().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintRepeatStart()

void PrintRepeatStart ( )

Definition at line 193 of file ior-output.c.

References OUTPUT_DEFAULT, outputFormat, and PrintArrayStart().

Referenced by TestIoSys().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintShortSummary()

void PrintShortSummary ( IOR_test_t test)

◆ PrintStartSection()

static void PrintStartSection ( )
static

Definition at line 122 of file ior-output.c.

References indent, needNextToken, out_resultfile, OUTPUT_JSON, outputFormat, PrintIndent(), and PrintNextToken().

Referenced by PrintHeader(), PrintLongSummaryOneOperation(), PrintReducedResult(), PrintRemoveTiming(), and ShowTestStart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintTableHeader()

void PrintTableHeader ( )

Definition at line 20 of file ior-output.c.

References out_resultfile, OUTPUT_DEFAULT, and outputFormat.

Referenced by TestIoSys().

Here is the caller graph for this function:

◆ PrintTestEnds()

void PrintTestEnds ( )

Definition at line 200 of file ior-output.c.

References CurrentTimeString(), PrintEndSection(), PrintKeyVal(), rank, verbose, and VERBOSE_0.

Referenced by ior_main(), and ior_run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ShowSetup()

void ShowSetup ( IOR_param_t params)

◆ ShowTestEnd()

void ShowTestEnd ( IOR_test_t tptr)

Definition at line 388 of file ior-output.c.

References out_logfile, IOR_results_t::pairs_accessed, IOR_test_t::params, PrintEndSection(), rank, IOR_test_t::results, IOR_param_t::stoneWallingStatusFile, IOR_param_t::stoneWallingWearOut, and StoreStoneWallingIterations().

Referenced by ior_main(), and ior_run().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ShowTestStart()

void ShowTestStart ( IOR_param_t test)

Definition at line 312 of file ior-output.c.

References IOR_param_t::api, IOR_param_t::blockSize, IOR_param_t::checkRead, IOR_param_t::checkWrite, IOR_param_t::collective, CurrentTimeString(), IOR_param_t::dataPacketType, IOR_param_t::deadlineForStonewalling, DisplayFreespace(), IOR_param_t::filePerProc, IOR_param_t::fsync, IOR_param_t::fsyncPerWrite, IOR_param_t::gpfs_hint_access, IOR_param_t::gpfs_release_token, IOR_param_t::hintsFileName, IOR_param_t::id, IOR_param_t::individualDataSets, IOR_param_t::interTestDelay, IOR_param_t::keepFile, IOR_param_t::keepFileWithError, IOR_param_t::maxTimeDuration, IOR_param_t::memoryPerNode, IOR_param_t::memoryPerTask, IOR_param_t::multiFile, IOR_param_t::nodes, IOR_param_t::options, out_resultfile, IOR_param_t::outlierThreshold, OUTPUT_JSON, outputFormat, IOR_param_t::platform, IOR_param_t::preallocate, PrintEndSection(), PrintKeyVal(), PrintKeyValInt(), PrintNamedSectionStart(), PrintStartSection(), IOR_param_t::quitOnError, IOR_param_t::randomOffset, IOR_param_t::readFile, IOR_param_t::referenceNumber, Regex(), IOR_param_t::reorderTasks, IOR_param_t::reorderTasksRandom, IOR_param_t::reorderTasksRandomSeed, IOR_param_t::repetitions, IOR_param_t::segmentCount, IOR_param_t::setAlignment, IOR_param_t::setTimeStampSignature, IOR_param_t::showHints, IOR_param_t::singleXferAttempt, IOR_param_t::stoneWallingWearOut, IOR_param_t::storeFileOffset, tasksPerNode, IOR_param_t::testFileName, IOR_param_t::transferSize, IOR_param_t::uniqueDir, IOR_param_t::useExistingTestFile, IOR_param_t::useFileView, IOR_param_t::useO_DIRECT, IOR_param_t::useSharedFilePointer, IOR_param_t::useStridedDatatype, verbose, VERBOSE_3, and IOR_param_t::writeFile.

Referenced by ior_main(), and ior_run().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ environ

char** environ

Referenced by PrintHeader(), and SetHints().

◆ indent

int indent = 0
static

◆ needNextToken

int needNextToken = 0
static