IOR
Macros | Functions | Variables
parse_options.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include "utilities.h"
#include "ior.h"
#include "aiori.h"
#include "parse_options.h"
#include "option.h"
Include dependency graph for parse_options.c:

Go to the source code of this file.

Macros

#define ISPOWEROFTWO(x)   ((x != 0) && !(x & (x - 1)))
 

Functions

static size_t NodeMemoryStringToBytes (char *size_str)
 
static void CheckRunSettings (IOR_test_t *tests)
 
void DecodeDirective (char *line, IOR_param_t *params)
 
void ParseLine (char *line, IOR_param_t *test)
 
int contains_only (char *haystack, char *needle)
 
IOR_test_tReadConfigScript (char *scriptName)
 
static void decodeDirectiveWrapper (char *line)
 
IOR_test_tParseCommandLine (int argc, char **argv)
 

Variables

IOR_param_t initialTestParams
 
static IOR_param_tparameters
 

Macro Definition Documentation

◆ ISPOWEROFTWO

#define ISPOWEROFTWO (   x)    ((x != 0) && !(x & (x - 1)))

Definition at line 32 of file parse_options.c.

Referenced by DecodeDirective().

Function Documentation

◆ CheckRunSettings()

static void CheckRunSettings ( IOR_test_t tests)
static

◆ contains_only()

int contains_only ( char *  haystack,
char *  needle 
)

Definition at line 341 of file parse_options.c.

Referenced by ReadConfigScript().

Here is the caller graph for this function:

◆ DecodeDirective()

void DecodeDirective ( char *  line,
IOR_param_t params 
)

Definition at line 110 of file parse_options.c.

References IOR_param_t::api, IOR_param_t::beegfs_chunkSize, IOR_param_t::beegfs_numTargets, IOR_param_t::blockSize, IOR_param_t::checkRead, IOR_param_t::checkWrite, IOR_param_t::collective, IOR_param_t::deadlineForStonewalling, IOR_param_t::debug, ERR, FAIL, 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::individualDataSets, IOR_param_t::interTestDelay, IOR_param_t::intraTestBarriers, ISPOWEROFTWO, IOR_param_t::keepFile, IOR_param_t::keepFileWithError, IOR_param_t::lustre_ignore_locks, IOR_param_t::lustre_set_striping, IOR_param_t::lustre_start_ost, IOR_param_t::lustre_stripe_count, IOR_param_t::lustre_stripe_size, MAX_STR, IOR_param_t::maxTimeDuration, IOR_param_t::memoryPerNode, IOR_param_t::memoryPerTask, MPI_CHECK, IOR_param_t::multiFile, NodeMemoryStringToBytes(), IOR_param_t::nodes, IOR_param_t::noFill, NULL, IOR_param_t::numTasks, out_logfile, out_resultfile, IOR_param_t::outlierThreshold, OUTPUT_CSV, OUTPUT_DEFAULT, OUTPUT_JSON, outputFormat, IOR_param_t::platform, IOR_param_t::preallocate, IOR_param_t::quitOnError, IOR_param_t::randomOffset, rank, rc, IOR_param_t::readFile, IOR_param_t::referenceNumber, 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::stoneWallingStatusFile, IOR_param_t::stoneWallingWearOut, IOR_param_t::stoneWallingWearOutIterations, IOR_param_t::storeFileOffset, string_to_bytes(), IOR_param_t::summary_every_test, IOR_param_t::taskPerNodeOffset, 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, IOR_param_t::verbose, and IOR_param_t::writeFile.

Referenced by decodeDirectiveWrapper(), and ParseLine().

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

◆ decodeDirectiveWrapper()

static void decodeDirectiveWrapper ( char *  line)
static

Definition at line 436 of file parse_options.c.

References DecodeDirective().

Referenced by ParseCommandLine().

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

◆ NodeMemoryStringToBytes()

static size_t NodeMemoryStringToBytes ( char *  size_str)
static

Definition at line 37 of file parse_options.c.

References ERR, rc, and string_to_bytes().

Referenced by DecodeDirective(), and ParseCommandLine().

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

◆ ParseCommandLine()

IOR_test_t* ParseCommandLine ( int  argc,
char **  argv 
)

Definition at line 443 of file parse_options.c.

References aiori_select(), aiori_supported_apis(), airoi_parse_options(), AllocResults(), IOR_param_t::api, IOR_param_t::apiVersion, backend, IOR_param_t::backend, IOR_param_t::blockSize, IOR_param_t::checkRead, CheckRunSettings(), IOR_param_t::checkWrite, IOR_param_t::collective, CreateTest(), IOR_param_t::dataPacketType, IOR_param_t::deadlineForStonewalling, decodeDirectiveWrapper(), ERR_SIMPLE, FALSE, IOR_param_t::filePerProc, IOR_param_t::fsync, IOR_param_t::fsyncPerWrite, ior_aiori::get_version, GetPlatformName(), IOR_param_t::hintsFileName, incompressible, IOR_param_t::incompressibleSeed, IOR_param_t::individualDataSets, init_IOR_Param_t(), initialTestParams, IOR_param_t::interTestDelay, IOR_param_t::intraTestBarriers, IOR_param_t::keepFile, IOR_param_t::keepFileWithError, LAST_OPTION, IOR_param_t::maxTimeDuration, IOR_param_t::memoryPerNode, IOR_param_t::multiFile, NodeMemoryStringToBytes(), IOR_param_t::noFill, NULL, IOR_param_t::numTasks, offset, OPTION_FLAG, OPTION_OPTIONAL_ARGUMENT, options, out_logfile, IOR_param_t::outlierThreshold, IOR_param_t::platform, IOR_param_t::preallocate, IOR_param_t::quitOnError, IOR_param_t::randomOffset, ReadConfigScript(), IOR_param_t::readFile, IOR_param_t::referenceNumber, 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::storeFileOffset, IOR_param_t::taskPerNodeOffset, IOR_param_t::testFileName, timestamp, IOR_param_t::transferSize, TRUE, 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, IOR_param_t::verbose, 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:

◆ ParseLine()

void ParseLine ( char *  line,
IOR_param_t test 
)

Definition at line 323 of file parse_options.c.

References DecodeDirective(), and NULL.

Referenced by ReadConfigScript().

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

◆ ReadConfigScript()

IOR_test_t* ReadConfigScript ( char *  scriptName)

Definition at line 367 of file parse_options.c.

References AllocResults(), contains_only(), CreateTest(), ERR, MAX_STR, IOR_test_t::next, NULL, IOR_test_t::params, and ParseLine().

Referenced by ParseCommandLine().

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

Variable Documentation

◆ initialTestParams

IOR_param_t initialTestParams

Definition at line 34 of file parse_options.c.

Referenced by ParseCommandLine().

◆ parameters

IOR_param_t* parameters
static

Definition at line 434 of file parse_options.c.