Loading [MathJax]/extensions/TeX/AMSsymbols.js
LALPulsar 7.1.1.1-ea7c608
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages

Prototypes

WeaveCohInput * XLALWeaveCohInputCreate (const LALStringVector *setup_detectors, const WeaveSimulationLevel simulation_level, const SFTCatalog *sft_catalog, const UINT4 segment_index, const LALSeg *segment, const PulsarDopplerParams *min_phys, const PulsarDopplerParams *max_phys, const double dfreq, const EphemerisData *ephemerides, const LALStringVector *sft_noise_sqrtSX, const LALStringVector *Fstat_assume_sqrtSX, FstatOptionalArgs *Fstat_opt_args, WeaveStatisticsParams *statistics_params, BOOLEAN recalc_stage)
 Create coherent input data. More...
 
void XLALWeaveCohInputDestroy (WeaveCohInput *coh_input)
 Destroy coherent input data. More...
 
int XLALWeaveCohInputWriteInfo (FITSFile *file, const size_t ncoh_input, WeaveCohInput *const *coh_input)
 Write various information from coherent input data to a FITS file. More...
 
int XLALWeaveCohInputWriteSegInfo (FITSFile *file, const size_t ncoh_input, WeaveCohInput *const *coh_input)
 Write various segment information from coherent input data to a FITS file. More...
 
int XLALWeaveCohResultsCompute (WeaveCohResults **coh_res, WeaveCohInput *coh_input, const PulsarDopplerParams *coh_phys, const UINT4 coh_nfreqs, WeaveSearchTiming *tim)
 Create and compute coherent results. More...
 
void XLALWeaveCohResultsDestroy (WeaveCohResults *coh_res)
 Destroy coherent results. More...
 
int XLALWeaveSemiResultsInit (WeaveSemiResults **semi_res, const WeaveSimulationLevel simulation_level, const UINT4 ndetectors, const UINT4 nsegments, const UINT8 semi_index, const PulsarDopplerParams *semi_phys, const double dfreq, const UINT4 semi_nfreqs, const WeaveStatisticsParams *statistics_params)
 Create and initialise semicoherent results. More...
 
int XLALWeaveSemiResultsComputeSegs (WeaveSemiResults *semi_res, const UINT4 nsegments, const WeaveCohResults **coh_res, const UINT8 *coh_index, const UINT4 *coh_offset, WeaveSearchTiming *tim)
 Add a new set of coherent results to the semicoherent results. More...
 
int XLALWeaveSemiResultsComputeMain (WeaveSemiResults *semi_res, WeaveSearchTiming *tim)
 Compute all remaining toplist-ranking semicoherent statistics (ie 'mainloop-statistics'). More...
 
void XLALWeaveSemiResultsDestroy (WeaveSemiResults *semi_res)
 Destroy final semicoherent results. More...
 
int XLALWeaveCohResultsExtract (REAL4Vector **coh2F, REAL4Vector *coh2F_det[PULSAR_MAX_DETECTORS], BOOLEAN *have_coh2F_det, WeaveCohResults *coh_res, const WeaveCohInput *coh_input)
 Simple API function to extract pointers to 2F results from WeaveCohResults. More...
 
int XLALWeaveSemiCoh2FExtract (REAL4 *coh2F, const WeaveSemiResults *semi_res, const UINT4 freq_idx)
 Extract 2F results from WeaveSemiResults; handles results stores in CUDA device memory. More...
 

Go to the source code of this file.

Data Structures

struct  segment_info
 Input data segment info. More...
 
struct  WeaveCohInput
 Input data required for computing coherent results. More...
 
struct  WeaveCohResults
 Results of a coherent computation on a single segment. More...
 

Macros

#define XLAL_CHECK_CUDA_CALL(...)
 

Variables

const UINT4 alignment = 32
 Aligned arrays use maximum required alignment, i.e. 32 bytes for AVX. More...
 

Macro Definition Documentation

◆ XLAL_CHECK_CUDA_CALL

#define XLAL_CHECK_CUDA_CALL (   ...)
Value:
do { \
cudaError_t retn; \
XLAL_CHECK ( ( retn = (__VA_ARGS__) ) == cudaSuccess, XLAL_EERR, "%s failed with return code %i", #__VA_ARGS__, retn ); \
} while(0)
XLAL_EERR

Definition at line 37 of file ComputeResults.c.

Function Documentation

◆ XLALWeaveCohInputCreate()

WeaveCohInput * XLALWeaveCohInputCreate ( const LALStringVector setup_detectors,
const WeaveSimulationLevel  simulation_level,
const SFTCatalog sft_catalog,
const UINT4  segment_index,
const LALSeg segment,
const PulsarDopplerParams min_phys,
const PulsarDopplerParams max_phys,
const double  dfreq,
const EphemerisData ephemerides,
const LALStringVector sft_noise_sqrtSX,
const LALStringVector Fstat_assume_sqrtSX,
FstatOptionalArgs Fstat_opt_args,
WeaveStatisticsParams *  statistics_params,
BOOLEAN  recalc_stage 
)

Create coherent input data.

Definition at line 122 of file ComputeResults.c.

◆ XLALWeaveCohInputDestroy()

void XLALWeaveCohInputDestroy ( WeaveCohInput *  coh_input)

Destroy coherent input data.

Definition at line 283 of file ComputeResults.c.

◆ XLALWeaveCohInputWriteInfo()

int XLALWeaveCohInputWriteInfo ( FITSFile file,
const size_t  ncoh_input,
WeaveCohInput *const coh_input 
)

Write various information from coherent input data to a FITS file.

Definition at line 296 of file ComputeResults.c.

◆ XLALWeaveCohInputWriteSegInfo()

int XLALWeaveCohInputWriteSegInfo ( FITSFile file,
const size_t  ncoh_input,
WeaveCohInput *const coh_input 
)

Write various segment information from coherent input data to a FITS file.

Definition at line 396 of file ComputeResults.c.

◆ XLALWeaveCohResultsCompute()

int XLALWeaveCohResultsCompute ( WeaveCohResults **  coh_res,
WeaveCohInput *  coh_input,
const PulsarDopplerParams coh_phys,
const UINT4  coh_nfreqs,
WeaveSearchTiming *  tim 
)

Create and compute coherent results.

Definition at line 441 of file ComputeResults.c.

◆ XLALWeaveCohResultsDestroy()

void XLALWeaveCohResultsDestroy ( WeaveCohResults *  coh_res)

Destroy coherent results.

Definition at line 565 of file ComputeResults.c.

◆ XLALWeaveSemiResultsInit()

int XLALWeaveSemiResultsInit ( WeaveSemiResults **  semi_res,
const WeaveSimulationLevel  simulation_level,
const UINT4  ndetectors,
const UINT4  nsegments,
const UINT8  semi_index,
const PulsarDopplerParams semi_phys,
const double  dfreq,
const UINT4  semi_nfreqs,
const WeaveStatisticsParams *  statistics_params 
)

Create and initialise semicoherent results.

Definition at line 586 of file ComputeResults.c.

◆ XLALWeaveSemiResultsComputeSegs()

int XLALWeaveSemiResultsComputeSegs ( WeaveSemiResults *  semi_res,
const UINT4  nsegments,
const WeaveCohResults **  coh_res,
const UINT8 coh_index,
const UINT4 coh_offset,
WeaveSearchTiming *  tim 
)

Add a new set of coherent results to the semicoherent results.

Definition at line 776 of file ComputeResults.c.

◆ XLALWeaveSemiResultsComputeMain()

int XLALWeaveSemiResultsComputeMain ( WeaveSemiResults *  semi_res,
WeaveSearchTiming *  tim 
)

Compute all remaining toplist-ranking semicoherent statistics (ie 'mainloop-statistics').

For efficiency reasons any statistics not needed here will be computed later in the "completion loop" on the final toplist.

Definition at line 941 of file ComputeResults.c.

◆ XLALWeaveSemiResultsDestroy()

void XLALWeaveSemiResultsDestroy ( WeaveSemiResults *  semi_res)

Destroy final semicoherent results.

Definition at line 1017 of file ComputeResults.c.

◆ XLALWeaveCohResultsExtract()

int XLALWeaveCohResultsExtract ( REAL4Vector **  coh2F,
REAL4Vector coh2F_det[PULSAR_MAX_DETECTORS],
BOOLEAN have_coh2F_det,
WeaveCohResults *  coh_res,
const WeaveCohInput *  coh_input 
)

Simple API function to extract pointers to 2F results from WeaveCohResults.

Definition at line 1067 of file ComputeResults.c.

◆ XLALWeaveSemiCoh2FExtract()

int XLALWeaveSemiCoh2FExtract ( REAL4 coh2F,
const WeaveSemiResults *  semi_res,
const UINT4  freq_idx 
)

Extract 2F results from WeaveSemiResults; handles results stores in CUDA device memory.

Definition at line 1098 of file ComputeResults.c.

Variable Documentation

◆ alignment

const UINT4 alignment = 32

Aligned arrays use maximum required alignment, i.e. 32 bytes for AVX.

Definition at line 45 of file ComputeResults.c.