AA-ALERT RFIm
|
Classes | |
class | RFImConfig |
RFI specific kernel configuration. More... | |
Typedefs | |
using | RFImConfigurations = std::map< std::string, std::map< unsigned int, std::map< float, RFImConfig * > * > * > |
Enumerations | |
enum | RFImKernel { TimeDomainSigmaCut, FrequencyDomainSigmaCut } |
The kernel type. More... | |
enum | DataOrdering { FrequencyTime, TimeFrequency } |
Ordering of input/output data. More... | |
enum | ReplacementStrategy { ReplaceWithMean, ReplaceWithMedian } |
Strategy for flagged data replacement. More... | |
Functions | |
void | readRFImConfig (RFImConfigurations &configurations, const std::string &filename) |
Read one RFImConfig from a configuration file. More... | |
void | readSigmaSteps (const std::string &inputFilename, std::vector< float > &steps) |
Read the. More... | |
template<typename DataType > | |
std::uint64_t | timeDomainSigmaCut (const bool subbandDedispersion, const DataOrdering &ordering, const ReplacementStrategy &replacement, const AstroData::Observation &observation, std::vector< DataType > &time_series, const float sigmaCut, const unsigned int padding) |
Compute time domain sigma cut. Not optimized, just for testing purpose. More... | |
template<typename DataType > | |
std::string * | getTimeDomainSigmaCutOpenCL (const RFImConfig &config, const DataOrdering &ordering, const ReplacementStrategy &replacement, const std::string &dataTypeName, const AstroData::Observation &observation, const float sigmaCut, const unsigned int padding) |
Generates the OpenCL code for the time domain sigma cut. More... | |
template<typename DataType > | |
std::string * | getTimeDomainSigmaCutOpenCL_FrequencyTime_ReplaceWithMean (const RFImConfig &config, const std::string &dataTypeName, const AstroData::Observation &observation, const float sigmaCut, const unsigned int padding) |
Generates the OpenCL code for the time domain sigma cut. This function generates specialized code for the case in which the input is FrequencyTime ordered and flagged samples are replaced with the mean. More... | |
template<typename DataType > | |
void | testTimeDomainSigmaCut (const bool printCode, const bool printResults, const RFImConfig &config, const DataOrdering &ordering, const ReplacementStrategy &replacement, const std::string &dataTypeName, const AstroData::Observation &observation, const std::vector< DataType > &time_series, isa::OpenCL::OpenCLRunTime &openCLRunTime, const unsigned int clDeviceID, const float sigmaCut, const unsigned int padding) |
Test the OpenCL kernel by comparing results with C++ implementation. More... | |
template<typename DataType > | |
void | tuneTimeDomainSigmaCut (const bool subbandDedispersion, const isa::OpenCL::TuningParameters ¶meters, const DataOrdering &ordering, const ReplacementStrategy &replacement, const std::string &dataTypeName, const AstroData::Observation &observation, const std::vector< DataType > &time_series, const unsigned int clPlatformID, const unsigned int clDeviceID, const float sigmaCut, const unsigned int padding) |
Tune the OpenCL kernel to find best performing configuration for a certain scenario. More... | |
template<typename DataType > | |
std::uint64_t | frequencyDomainSigmaCut (const bool subbandDedispersion, const DataOrdering &ordering, const ReplacementStrategy &replacement, const AstroData::Observation &observation, std::vector< DataType > &time_series, const unsigned int nrBins, const float sigmaCut, const unsigned int padding) |
Compute frequency domain sigma cut. Not optimized, just for testing purpose. More... | |
template<typename DataType > | |
std::string * | getFrequencyDomainSigmaCutOpenCL (const RFImConfig &config, const DataOrdering &ordering, const ReplacementStrategy &replacement, const std::string &dataTypeName, const AstroData::Observation &observation, const unsigned int nrBins, const float sigmaCut, const unsigned int padding) |
Generates the OpenCL code for the frequency domain sigma cut. More... | |
template<typename DataType > | |
std::string * | getFrequencyDomainSigmaCutOpenCL_FrequencyTime_ReplaceWithMean (const RFImConfig &config, const std::string &dataTypeName, const AstroData::Observation &observation, const unsigned int nrBins, const float sigmaCut, const unsigned int padding) |
Generates the OpenCL code for the frequency domain sigma cut. This function generates specialized code for the case in which the input is FrequencyTime ordered and flagged samples are replaced with the mean. More... | |
template<typename DataType > | |
void | testFrequencyDomainSigmaCut (const bool printCode, const bool printResults, const RFImConfig &config, const DataOrdering &ordering, const ReplacementStrategy &replacement, const std::string &dataTypeName, const AstroData::Observation &observation, const std::vector< DataType > &time_series, isa::OpenCL::OpenCLRunTime &openCLRunTime, const unsigned int clDeviceID, const unsigned int nrBins, const float sigmaCut, const unsigned int padding) |
Test the OpenCL kernel by comparing results with C++ implementation. More... | |
template<typename DataType > | |
void | tuneFrequencyDomainSigmaCut (const bool subbandDedispersion, const isa::OpenCL::TuningParameters ¶meters, const DataOrdering &ordering, const ReplacementStrategy &replacement, const std::string &dataTypeName, const AstroData::Observation &observation, const std::vector< DataType > &time_series, const unsigned int clPlatformID, const unsigned int clDeviceID, const unsigned int nrBins, const float sigmaCut, const unsigned int padding) |
Tune the OpenCL kernel to find best performing configuration for a certain scenario. More... | |
using RFIm::RFImConfigurations = typedef std::map<std::string, std::map<unsigned int, std::map<float, RFImConfig *> *> *> |
enum RFIm::DataOrdering |
enum RFIm::RFImKernel |
std::uint64_t RFIm::frequencyDomainSigmaCut | ( | const bool | subbandDedispersion, |
const DataOrdering & | ordering, | ||
const ReplacementStrategy & | replacement, | ||
const AstroData::Observation & | observation, | ||
std::vector< DataType > & | time_series, | ||
const unsigned int | nrBins, | ||
const float | sigmaCut, | ||
const unsigned int | padding | ||
) |
Compute frequency domain sigma cut. Not optimized, just for testing purpose.
subbandDedispersion | True if using subband dedispersion. |
ordering | The ordering of the data. |
replacement | The replacement strategy for flagged samples. |
observation | The observation object. |
time_series | The input data. |
nrBins | The number of bins for the bandpass. |
sigmaCut | The threshold value for the sigma cut. |
padding | The padding, in bytes, necessary to align data to cache lines. |
std::string * RFIm::getFrequencyDomainSigmaCutOpenCL | ( | const RFImConfig & | config, |
const DataOrdering & | ordering, | ||
const ReplacementStrategy & | replacement, | ||
const std::string & | dataTypeName, | ||
const AstroData::Observation & | observation, | ||
const unsigned int | nrBins, | ||
const float | sigmaCut, | ||
const unsigned int | padding | ||
) |
Generates the OpenCL code for the frequency domain sigma cut.
config | The kernel configuration. |
ordering | The ordering of the data. |
replacement | The replacement strategy for flagged samples. |
dataTypeName | The name of the input data type. |
observation | The observation object. |
nrBins | The number of bins for the bandpass. |
sigmaCut | The threshold value for the sigma cut. |
padding | The padding, in bytes, necessary to align data to cache lines. |
std::string * RFIm::getFrequencyDomainSigmaCutOpenCL_FrequencyTime_ReplaceWithMean | ( | const RFImConfig & | config, |
const std::string & | dataTypeName, | ||
const AstroData::Observation & | observation, | ||
const unsigned int | nrBins, | ||
const float | sigmaCut, | ||
const unsigned int | padding | ||
) |
Generates the OpenCL code for the frequency domain sigma cut. This function generates specialized code for the case in which the input is FrequencyTime ordered and flagged samples are replaced with the mean.
config | The kernel configuration. |
dataTypeName | The name of the input data type. |
observation | The observation object. |
nrBins | The number of bins for the bandpass. |
sigmaCut | The threshold value for the sigma cut. |
padding | The padding, in bytes, necessary to align data to cache lines. |
std::string * RFIm::getTimeDomainSigmaCutOpenCL | ( | const RFImConfig & | config, |
const DataOrdering & | ordering, | ||
const ReplacementStrategy & | replacement, | ||
const std::string & | dataTypeName, | ||
const AstroData::Observation & | observation, | ||
const float | sigmaCut, | ||
const unsigned int | padding | ||
) |
Generates the OpenCL code for the time domain sigma cut.
config | The kernel configuration. |
ordering | The ordering of the data. |
replacement | The replacement strategy for flagged samples. |
dataTypeName | The name of the input data type. |
observation | The observation object. |
sigmaCut | The threshold value for the sigma cut. |
padding | The padding, in bytes, necessary to align data to cache lines. |
std::string * RFIm::getTimeDomainSigmaCutOpenCL_FrequencyTime_ReplaceWithMean | ( | const RFImConfig & | config, |
const std::string & | dataTypeName, | ||
const AstroData::Observation & | observation, | ||
const float | sigmaCut, | ||
const unsigned int | padding | ||
) |
Generates the OpenCL code for the time domain sigma cut. This function generates specialized code for the case in which the input is FrequencyTime ordered and flagged samples are replaced with the mean.
config | The kernel configuration. |
dataTypeName | The name of the input data type. |
observation | The observation object. |
sigmaCut | The threshold value for the sigma cut. |
padding | The padding, in bytes, necessary to align data to cache lines. |
void RFIm::readRFImConfig | ( | RFIm::RFImConfigurations & | configurations, |
const std::string & | filename | ||
) |
Read one RFImConfig from a configuration file.
configurations | Where to store all configurations. |
filename | The file to read the configurations from. |
void RFIm::readSigmaSteps | ( | const std::string & | inputFilename, |
std::vector< float > & | steps | ||
) |
Read the.
void RFIm::testFrequencyDomainSigmaCut | ( | const bool | printCode, |
const bool | printResults, | ||
const RFImConfig & | config, | ||
const DataOrdering & | ordering, | ||
const ReplacementStrategy & | replacement, | ||
const std::string & | dataTypeName, | ||
const AstroData::Observation & | observation, | ||
const std::vector< DataType > & | time_series, | ||
isa::OpenCL::OpenCLRunTime & | openCLRunTime, | ||
const unsigned int | clDeviceID, | ||
const unsigned int | nrBins, | ||
const float | sigmaCut, | ||
const unsigned int | padding | ||
) |
Test the OpenCL kernel by comparing results with C++ implementation.
printCode | Enable generated code printing. |
printResults | Enable results printing. |
config | The kernel configuration. |
ordering | The ordering of the data. |
replacement | The replacement strategy for flagged samples. |
dataTypeName | The name of the input data type. |
observation | The observation object. |
time_series | The input data. |
openCLRunTime | The OpenCL run time objects. |
clDeviceID | The ID of the OpenCL device to use. |
nrBins | The number of bins for the bandpass. |
sigmaCut | The threshold value for the sigma cut. |
padding | The padding, in bytes, necessary to align data to cache lines. |
void RFIm::testTimeDomainSigmaCut | ( | const bool | printCode, |
const bool | printResults, | ||
const RFImConfig & | config, | ||
const DataOrdering & | ordering, | ||
const ReplacementStrategy & | replacement, | ||
const std::string & | dataTypeName, | ||
const AstroData::Observation & | observation, | ||
const std::vector< DataType > & | time_series, | ||
isa::OpenCL::OpenCLRunTime & | openCLRunTime, | ||
const unsigned int | clDeviceID, | ||
const float | sigmaCut, | ||
const unsigned int | padding | ||
) |
Test the OpenCL kernel by comparing results with C++ implementation.
printCode | Enable generated code printing. |
printResults | Enable results printing. |
config | The kernel configuration. |
ordering | The ordering of the data. |
replacement | The replacement strategy for flagged samples. |
dataTypeName | The name of the input data type. |
observation | The observation object. |
time_series | The input data. |
openCLRunTime | The OpenCL run time objects. |
clDeviceID | The ID of the OpenCL device to use. |
sigmaCut | The threshold value for the sigma cut. |
padding | The padding, in bytes, necessary to align data to cache lines. |
std::uint64_t RFIm::timeDomainSigmaCut | ( | const bool | subbandDedispersion, |
const DataOrdering & | ordering, | ||
const ReplacementStrategy & | replacement, | ||
const AstroData::Observation & | observation, | ||
std::vector< DataType > & | time_series, | ||
const float | sigmaCut, | ||
const unsigned int | padding | ||
) |
Compute time domain sigma cut. Not optimized, just for testing purpose.
subbandDedispersion | True if using subband dedispersion. |
ordering | The ordering of the data. |
replacement | The replacement strategy for flagged samples. |
observation | The observation object. |
time_series | The input data. |
sigmaCut | The threshold value for the sigma cut. |
padding | The padding, in bytes, necessary to align data to cache lines. |
void RFIm::tuneFrequencyDomainSigmaCut | ( | const bool | subbandDedispersion, |
const isa::OpenCL::TuningParameters & | parameters, | ||
const DataOrdering & | ordering, | ||
const ReplacementStrategy & | replacement, | ||
const std::string & | dataTypeName, | ||
const AstroData::Observation & | observation, | ||
const std::vector< DataType > & | time_series, | ||
const unsigned int | clPlatformID, | ||
const unsigned int | clDeviceID, | ||
const unsigned int | nrBins, | ||
const float | sigmaCut, | ||
const unsigned int | padding | ||
) |
Tune the OpenCL kernel to find best performing configuration for a certain scenario.
subbandDedispersion | True if using subband dedispersion. |
parameters | Tuning parameters. |
ordering | The ordering of the data. |
replacement | The replacement strategy for flagged samples. |
dataTypeName | The name of the input data type. |
observation | The observation object. |
time_series | The input data. |
clPlatformID | The ID of the OpenCL platform to use. |
clDeviceID | The ID of the OpenCL device to use. |
nrBins | The number of bins for the bandpass. |
sigmaCut | The threshold value for the sigma cut. |
padding | The padding, in bytes, necessary to align data to cache lines. |
void RFIm::tuneTimeDomainSigmaCut | ( | const bool | subbandDedispersion, |
const isa::OpenCL::TuningParameters & | parameters, | ||
const DataOrdering & | ordering, | ||
const ReplacementStrategy & | replacement, | ||
const std::string & | dataTypeName, | ||
const AstroData::Observation & | observation, | ||
const std::vector< DataType > & | time_series, | ||
const unsigned int | clPlatformID, | ||
const unsigned int | clDeviceID, | ||
const float | sigmaCut, | ||
const unsigned int | padding | ||
) |
Tune the OpenCL kernel to find best performing configuration for a certain scenario.
subbandDedispersion | True if using subband dedispersion. |
parameters | Tuning parameters. |
ordering | The ordering of the data. |
replacement | The replacement strategy for flagged samples. |
dataTypeName | The name of the input data type. |
observation | The observation object. |
time_series | The input data. |
clPlatformID | The ID of the OpenCL platform to use. |
clDeviceID | The ID of the OpenCL device to use. |
sigmaCut | The threshold value for the sigma cut. |
padding | The padding, in bytes, necessary to align data to cache lines. |