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... | |
#define XLAL_CHECK_CUDA_CALL | ( | ... | ) |
Definition at line 37 of file ComputeResults.c.
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.
void XLALWeaveCohInputDestroy | ( | WeaveCohInput * | coh_input | ) |
Destroy coherent input data.
Definition at line 283 of file ComputeResults.c.
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.
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.
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.
void XLALWeaveCohResultsDestroy | ( | WeaveCohResults * | coh_res | ) |
Destroy coherent results.
Definition at line 565 of file ComputeResults.c.
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.
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.
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.
void XLALWeaveSemiResultsDestroy | ( | WeaveSemiResults * | semi_res | ) |
Destroy final semicoherent results.
Definition at line 1017 of file ComputeResults.c.
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.
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.
Aligned arrays use maximum required alignment, i.e. 32 bytes for AVX.
Definition at line 45 of file ComputeResults.c.