24 #ifndef SKA_CHEETAH_FLDO_TEST_UTILS_OPTIMIZATION_H 25 #define SKA_CHEETAH_FLDO_TEST_UTILS_OPTIMIZATION_H 29 #include "FldoUtils.h" 38 void corner_turner_and_rebin(cudaDeviceProp properties,
int first_bin_idx, uint64_t nsamp_per_subslot,
39 size_t nchannels, std::vector<CandidateRebin> &rebin,
unsigned char *d_in);
41 void build_scrunched_profiles(
size_t ncandidates,
size_t max_phases,
size_t nsubbands,
size_t nsubint,
float mean,
42 float *d_folded,
float *d_weight,
float *d_outfprof,
float* d_outprof,
43 std::vector<util::GpuStream>&exec_stream);
45 int first_valid_binidx(std::vector<util::CandidateRebin> &rebin);
47 void perturb_candidates(data::Scl
const& ori_data, data::Scl &opt_data,
float *d_folded,
float* d_perturbed,
48 float *d_outfprof,
float *d_opt_profile, std::vector<util::GpuStream>& exec_stream,
49 std::vector<double>
const &time_sum, std::vector <double>
const &freq_sum,
50 std::vector<float> &trial_param,
int nchannel,
int nsubints,
51 int nsubbands,
int default_max_phases,
double tobs,
int p_trial,
int p_rf,
52 int pdot_trial,
int pdot_rf,
int dm_trial,
int dm_rf);
54 void compute_max_sn(
size_t const ncandidates,
int trials_num,
int default_max_phases,
float sigma,
float 55 *d_opt_profile, std::vector<float>& sn_max, std::vector<float>&
56 pulse_width, std::vector<int>& index_max, std::vector<util::GpuStream>& exec_stream);
58 void find_max(
float *raw_in,
int start,
int N,
float &max_sn,
float &pulse_width,
int &index);
69 #endif // SKA_CHEETAH_FLDO_TEST_UTILS_OPTIMIZATION_H Some limits and constants for FLDO.