IOR
utilities.h
Go to the documentation of this file.
1 /* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
2  * vim:expandtab:shiftwidth=8:tabstop=8:
3  */
4 /******************************************************************************\
5 * *
6 * Copyright (c) 2003, The Regents of the University of California *
7 * See the file COPYRIGHT for a complete copyright notice and license. *
8 * *
9 \******************************************************************************/
10 
11 #ifndef _UTILITIES_H
12 #define _UTILITIES_H
13 
14 #ifdef HAVE_CONFIG_H
15 # include "config.h"
16 #endif
17 
18 #include <mpi.h>
19 #include "ior.h"
20 
21 extern int rank;
22 extern int rankOffset;
23 extern int verbose;
24 extern MPI_Comm testComm;
25 extern MPI_Comm mpi_comm_world;
26 extern FILE * out_logfile;
27 extern FILE * out_resultfile;
28 extern enum OutputFormat_t outputFormat; /* format of the output */
29 
30 /*
31  * Try using the system's PATH_MAX, which is what realpath and such use.
32  */
33 #define MAX_PATHLEN PATH_MAX
34 
35 
36 #ifdef __linux__
37 #define ERROR_LOCATION __func__
38 #else
39 #define ERROR_LOCATION __LINE__
40 #endif
41 
42 #define FAIL(...) FailMessage(rank, ERROR_LOCATION, __VA_ARGS__)
43 void FailMessage(int rank, const char *location, char *format, ...);
44 
45 void* safeMalloc(uint64_t size);
46 void set_o_direct_flag(int *fd);
47 
48 char *CurrentTimeString(void);
49 int Regex(char *, char *);
50 void ShowFileSystemSize(char *);
51 void DumpBuffer(void *, size_t);
52 void SeedRandGen(MPI_Comm);
53 void SetHints (MPI_Info *, char *);
54 void ShowHints (MPI_Info *);
55 char *HumanReadable(IOR_offset_t value, int base);
56 int QueryNodeMapping(MPI_Comm comm, int print_nodemap);
57 int GetNumNodes(MPI_Comm);
58 int GetNumTasks(MPI_Comm);
59 int GetNumTasksOnNode0(MPI_Comm);
60 void DelaySecs(int delay);
62 size_t NodeMemoryStringToBytes(char *size_str);
63 
64 /* Returns -1, if cannot be read */
65 int64_t ReadStoneWallingIterations(char * const filename);
66 void StoreStoneWallingIterations(char * const filename, int64_t count);
67 
68 void init_clock(void);
69 double GetTimeStamp(void);
70 char * PrintTimestamp(); // TODO remove this function
71 
72 extern double wall_clock_deviation;
73 extern double wall_clock_delta;
74 #endif /* !_UTILITIES_H */
int64_t ReadStoneWallingIterations(char *const filename)
Definition: utilities.c:795
double GetTimeStamp(void)
Definition: utilities.c:726
int GetNumTasksOnNode0(MPI_Comm)
Definition: utilities.c:349
int rankOffset
Definition: utilities.c:58
void DelaySecs(int delay)
Definition: utilities.c:832
static int size
Definition: mdtest.c:91
MPI_Comm mpi_comm_world
Definition: utilities.c:61
int GetNumNodes(MPI_Comm)
Definition: utilities.c:274
OutputFormat_t
Definition: iordef.h:64
enum OutputFormat_t outputFormat
Definition: utilities.c:64
int GetNumTasks(MPI_Comm)
Definition: utilities.c:311
void init_clock(void)
Definition: utilities.c:775
char * PrintTimestamp()
Definition: utilities.c:780
void SeedRandGen(MPI_Comm)
Definition: utilities.c:678
int Regex(char *, char *)
Definition: utilities.c:658
void SetHints(MPI_Info *, char *)
Definition: utilities.c:454
void * safeMalloc(uint64_t size)
Definition: utilities.c:68
double wall_clock_delta
Definition: utilities.c:720
void ShowFileSystemSize(char *)
Definition: utilities.c:568
char * CurrentTimeString(void)
Definition: utilities.c:184
static option_help options[]
Definition: aiori-CEPHFS.c:54
int QueryNodeMapping(MPI_Comm comm, int print_nodemap)
Definition: utilities.c:230
void updateParsedOptions(IOR_param_t *options, options_all_t *global_options)
Definition: utilities.c:121
FILE * out_resultfile
Definition: utilities.c:63
double wall_clock_deviation
Definition: utilities.c:719
size_t NodeMemoryStringToBytes(char *size_str)
Definition: utilities.c:89
static options_all_t * global_options
Definition: parse_options.c:43
int rank
Definition: utilities.c:57
void DumpBuffer(void *, size_t)
Definition: utilities.c:209
FILE * out_logfile
Definition: utilities.c:62
void StoreStoneWallingIterations(char *const filename, int64_t count)
Definition: utilities.c:817
void FailMessage(int rank, const char *location, char *format,...)
Definition: utilities.c:77
void set_o_direct_flag(int *fd)
Definition: utilities.c:160
long long int IOR_offset_t
Definition: iordef.h:122
int verbose
Definition: utilities.c:59
char * HumanReadable(IOR_offset_t value, int base)
Definition: utilities.c:845
void ShowHints(MPI_Info *)
Definition: utilities.c:515
MPI_Comm testComm
Definition: utilities.c:60