LALPulsar  6.1.0.1-b72065a

Prototypes

WeaveSearchTiming * XLALWeaveSearchTimingCreate (const BOOLEAN detailed_timing, const WeaveStatisticsParams *statistics_params)
 Create a search timing structure. More...
 
void XLALWeaveSearchTimingDestroy (WeaveSearchTiming *tim)
 Destroy a search timing structure. More...
 
int XLALWeaveSearchTimingStart (WeaveSearchTiming *tim)
 Start timing of search. More...
 
int XLALWeaveSearchTimingElapsed (WeaveSearchTiming *tim, double *wall_elapsed, double *cpu_elapsed)
 Return elapsed wall and CPU times since start of search timing. More...
 
int XLALWeaveSearchTimingStop (WeaveSearchTiming *tim, double *wall_total, double *cpu_total)
 Stop timing of search. More...
 
int XLALWeaveSearchTimingSection (WeaveSearchTiming *tim, const WeaveSearchTimingSection prev_section, const WeaveSearchTimingSection next_section)
 Change the search section currently being timed. More...
 
int XLALWeaveSearchTimingStatistic (WeaveSearchTiming *tim, const WeaveStatisticType prev_statistic, const WeaveStatisticType next_statistic)
 Change the search statistic currently being timed. More...
 
int XLALWeaveSearchTimingWriteInfo (FITSFile *file, const WeaveSearchTiming *tim, const WeaveCacheQueries *queries)
 Write information from search timing to a FITS file. More...
 
Internal functions
static double wall_time (void)
 Return wall time in seconds. More...
 
static double cpu_time (void)
 Return CPU time in seconds. More...
 

Go to the source code of this file.

Data Structures

struct  WeaveSearchTiming
 Container for timings and other information for a timing model. More...
 

Enumerations

enum  WeaveSearchTimingDenominator {
  WEAVE_SEARCH_DENOM_NONE , WEAVE_SEARCH_DENOM_PCOH , WEAVE_SEARCH_DENOM_PSEMI , WEAVE_SEARCH_DENOM_PSSM1 ,
  WEAVE_SEARCH_DENOM_PSSEG , WEAVE_SEARCH_DENOM_PSTOP , WEAVE_SEARCH_DENOM_MAX
}
 Denominator to use for timing constants. More...
 

Variables

const chardenom_names [WEAVE_SEARCH_DENOM_MAX]
 Names of denominator to use for timing constants. More...
 
struct {
   const char *   name
 
   const char *   comment
 
   const WeaveSearchTimingDenominator   denom
 
cpu_sections [WEAVE_SEARCH_TIMING_MAX]
 Parameters of search timing sections. More...
 

Enumeration Type Documentation

◆ WeaveSearchTimingDenominator

Denominator to use for timing constants.

Enumerator
WEAVE_SEARCH_DENOM_NONE 
WEAVE_SEARCH_DENOM_PCOH 

Per number of computed coherent results.

WEAVE_SEARCH_DENOM_PSEMI 

Per number of semicoherent templates.

WEAVE_SEARCH_DENOM_PSSM1 

Per number of semicoherent templates, per number of segments (minus 1)

WEAVE_SEARCH_DENOM_PSSEG 

Per number of semicoherent templates, per number of segments.

WEAVE_SEARCH_DENOM_PSTOP 

Per semicoherent templates, per number of toplists.

WEAVE_SEARCH_DENOM_MAX 

Definition at line 63 of file SearchTiming.c.

Function Documentation

◆ wall_time()

double wall_time ( void  )
inlinestatic

Return wall time in seconds.

Definition at line 121 of file SearchTiming.c.

◆ cpu_time()

double cpu_time ( void  )
inlinestatic

Return CPU time in seconds.

Definition at line 130 of file SearchTiming.c.

◆ XLALWeaveSearchTimingCreate()

WeaveSearchTiming* XLALWeaveSearchTimingCreate ( const BOOLEAN  detailed_timing,
const WeaveStatisticsParams *  statistics_params 
)

Create a search timing structure.

Definition at line 140 of file SearchTiming.c.

◆ XLALWeaveSearchTimingDestroy()

void XLALWeaveSearchTimingDestroy ( WeaveSearchTiming *  tim)

Destroy a search timing structure.

Definition at line 163 of file SearchTiming.c.

◆ XLALWeaveSearchTimingStart()

int XLALWeaveSearchTimingStart ( WeaveSearchTiming *  tim)

Start timing of search.

Definition at line 175 of file SearchTiming.c.

◆ XLALWeaveSearchTimingElapsed()

int XLALWeaveSearchTimingElapsed ( WeaveSearchTiming *  tim,
double *  wall_elapsed,
double *  cpu_elapsed 
)

Return elapsed wall and CPU times since start of search timing.

Definition at line 212 of file SearchTiming.c.

◆ XLALWeaveSearchTimingStop()

int XLALWeaveSearchTimingStop ( WeaveSearchTiming *  tim,
double *  wall_total,
double *  cpu_total 
)

Stop timing of search.

Definition at line 242 of file SearchTiming.c.

◆ XLALWeaveSearchTimingSection()

int XLALWeaveSearchTimingSection ( WeaveSearchTiming *  tim,
const WeaveSearchTimingSection  prev_section,
const WeaveSearchTimingSection  next_section 
)

Change the search section currently being timed.

Definition at line 286 of file SearchTiming.c.

◆ XLALWeaveSearchTimingStatistic()

int XLALWeaveSearchTimingStatistic ( WeaveSearchTiming *  tim,
const WeaveStatisticType  prev_statistic,
const WeaveStatisticType  next_statistic 
)

Change the search statistic currently being timed.

Definition at line 322 of file SearchTiming.c.

◆ XLALWeaveSearchTimingWriteInfo()

int XLALWeaveSearchTimingWriteInfo ( FITSFile file,
const WeaveSearchTiming *  tim,
const WeaveCacheQueries *  queries 
)

Write information from search timing to a FITS file.

Definition at line 360 of file SearchTiming.c.

Variable Documentation

◆ denom_names

Initial value:
= {
[WEAVE_SEARCH_DENOM_PSSM1] = "psemi_psegm1",
[WEAVE_SEARCH_DENOM_PSSEG] = "psemi_pseg",
[WEAVE_SEARCH_DENOM_PSTOP] = "psemi_ptopl",
}
@ WEAVE_SEARCH_DENOM_PSTOP
Per semicoherent templates, per number of toplists.
Definition: SearchTiming.c:74
@ WEAVE_SEARCH_DENOM_PSSM1
Per number of semicoherent templates, per number of segments (minus 1)
Definition: SearchTiming.c:70
@ WEAVE_SEARCH_DENOM_PCOH
Per number of computed coherent results.
Definition: SearchTiming.c:66
@ WEAVE_SEARCH_DENOM_PSEMI
Per number of semicoherent templates.
Definition: SearchTiming.c:68
@ WEAVE_SEARCH_DENOM_PSSEG
Per number of semicoherent templates, per number of segments.
Definition: SearchTiming.c:72

Names of denominator to use for timing constants.

Definition at line 81 of file SearchTiming.c.

◆ name

const char* name

Definition at line 93 of file SearchTiming.c.

◆ comment

const char* comment

Definition at line 94 of file SearchTiming.c.

◆ denom

Definition at line 95 of file SearchTiming.c.

◆ 

const { ... } cpu_sections[WEAVE_SEARCH_TIMING_MAX]
Initial value:
= {
[WEAVE_SEARCH_TIMING_ITER] = {"iter", "parameter space iteration", WEAVE_SEARCH_DENOM_PSEMI},
[WEAVE_SEARCH_TIMING_QUERY] = {"query", "cache queries", WEAVE_SEARCH_DENOM_PSSEG},
[WEAVE_SEARCH_TIMING_COH] = {"coh", "computing coherent results", WEAVE_SEARCH_DENOM_PCOH},
[WEAVE_SEARCH_TIMING_SEMISEG] = {"semiseg", "computing per-segment semicoherent results", WEAVE_SEARCH_DENOM_PSSM1},
[WEAVE_SEARCH_TIMING_SEMI] = {"semi", "computing semicoherent results", WEAVE_SEARCH_DENOM_PSEMI},
[WEAVE_SEARCH_TIMING_OUTPUT] = {"output", "result output", WEAVE_SEARCH_DENOM_PSTOP},
[WEAVE_SEARCH_TIMING_CKPT] = {"ckpt", "checkpointing", WEAVE_SEARCH_DENOM_PSEMI},
[WEAVE_SEARCH_TIMING_CMPL] = {"cmpl", "computing completion-loop results", WEAVE_SEARCH_DENOM_NONE},
[WEAVE_SEARCH_TIMING_OTHER] = {"other", "unaccounted", WEAVE_SEARCH_DENOM_NONE},
}
@ WEAVE_SEARCH_DENOM_NONE
Definition: SearchTiming.c:64
@ WEAVE_SEARCH_TIMING_COH
Computation of coherent results section.
Definition: SearchTiming.h:46
@ WEAVE_SEARCH_TIMING_OUTPUT
Result output section.
Definition: SearchTiming.h:52
@ WEAVE_SEARCH_TIMING_SEMISEG
Computation of per-segment semicoherent results section.
Definition: SearchTiming.h:48
@ WEAVE_SEARCH_TIMING_ITER
Parameter space iteration section.
Definition: SearchTiming.h:42
@ WEAVE_SEARCH_TIMING_QUERY
Cache queries section.
Definition: SearchTiming.h:44
@ WEAVE_SEARCH_TIMING_CKPT
Checkpointing section.
Definition: SearchTiming.h:54
@ WEAVE_SEARCH_TIMING_OTHER
Unaccounted section.
Definition: SearchTiming.h:58
@ WEAVE_SEARCH_TIMING_CMPL
Completion-loop section.
Definition: SearchTiming.h:56
@ WEAVE_SEARCH_TIMING_SEMI
Computation of semicoherent results section.
Definition: SearchTiming.h:50

Parameters of search timing sections.