19 #ifndef _BENCH_UTILS_H 20 #define _BENCH_UTILS_H 41 #define TIME_OUT 1. // output period for data 42 #define NUMSEG 1 // number of nodes or nodes 45 #define DT_SV_DUMP 1. // output interval for sv dumps 58 char* fn[NUM_IMP_DATA_TYPES+1];
59 int dtype[NUM_IMP_DATA_TYPES+1];
64 #define us_RESOLUTION 1 97 static const char *
const data_type_names[] = {
113 #define GATETYPE_SIZE 4 114 #define GLOBALDATA_T_SIZE 8 115 static const int data_type_sizes[] = {
131 void open_globalvec_dump(FILE **fhdls, GVEC_DUMP *gvd, MULTI_IF *pMIIF,
char *base_name, IOCtrl *io);
134 void dump_all(MULTI_IF *,
int,
char *,
char *,
double,
double,
char *);
138 void initial_SVs(MULTI_IF *miif,
char *SVs,
char *imp,
char *plgins,
int num);
void update_timing(event_timing *t, double event_duration)
void open_globalvec_dump(FILE **fhdls, GVEC_DUMP *gvd, MULTI_IF *pMIIF, char *base_name, IOCtrl *io)
void dump_all(MULTI_IF *MIIF, int reg, char *imp, char *plugs, double t, double ddt, char *fout)
double getCellVal(sf_vec *v, int ind)
std::vector< std::reference_wrapper< IonType > > IonTypeList
void initialize_timings(event_timing *t)
float determine_duration(struct gengetopt_args_info *p, TrgList *stim_lst)
determine time of last stimulus
double avg
average duration of event
timing for initialization
void print_param_help(IonType *im, IonTypeList &plugs)
timing for main loop (including IO and ODE solve)
char wbin
write to file in binary format
double mx
maximum duration of event
char first
first line of output
double tot
total duration of all events
int n_dumps
keep track of number of dumped time slices
void determine_stim_list(char *stl, TrgList *trg, bool DIAs)
char wsplt
split -> each vector goes into separate file
void globalvec_dump(FILE **fhdls, GVEC_DUMP *gvd, MULTI_IF *pMIIF, timer_manager *tmo, IOCtrl *io, int numNode)
#define GLOBALDATA_T_SIZE
int count
number of events counted so far
number of benchmark timings we use
int write_dump_header(GVEC_DUMP *gvd, SV_DUMP *svd, const char *ExpID)
bool init
initialization flag
void close_globalvec_dump(FILE **fhdls, GVEC_DUMP *gvd, IOCtrl *io)
double mn
minimum duration of event
void initial_SVs(MULTI_IF *miif, char *SVs, char *imp, char *plgins, int num)
char w2stdout
turn on/off output to stdout
centralize time managment and output triggering