HOPS
HOPS class reference
Public Member Functions | Protected Types | Protected Member Functions | List of all members
hops::MHO_MBDelaySearchCUDA Class Reference

Class MHO_MBDelaySearchCUDA. More...

#include <MHO_MBDelaySearchCUDA.hh>

Inheritance diagram for hops::MHO_MBDelaySearchCUDA:
[legend]

Public Member Functions

 MHO_MBDelaySearchCUDA ()
 
virtual ~MHO_MBDelaySearchCUDA ()
 
- Public Member Functions inherited from hops::MHO_MBDelaySearch
 MHO_MBDelaySearch ()
 
virtual ~MHO_MBDelaySearch ()
 
double GetAverageFrequency () const
 
double GetCoarseDR () const
 Getter for coarse dr. More...
 
double GetCoarseMBD () const
 Getter for coarse mbd. More...
 
double GetCoarseSBD () const
 Getter for coarse sbd. More...
 
delay_rate_axis_typeGetDRAxis ()
 
int GetDRMaxBin () const
 Getter for drmax bin. More...
 
void GetDRWindow (double &low, double &high) const
 Getter for dr window. More...
 
double GetFrequencySpacing () const
 
time_axis_typeGetMBDAxis ()
 
int GetMBDMaxBin () const
 Getter for mbdmax bin. More...
 
void GetMBDWindow (double &low, double &high) const
 Getter for mbd window. More...
 
int GetNDRBins () const
 Getter for ndrbins. More...
 
int GetNDRSPBins () const
 
int GetNMBDBins () const
 Getter for N mbd bins. More...
 
double GetNPointsSearched () const
 
int GetNSBDBins () const
 Getter for n sbd bins. More...
 
double GetSBDBinSeparation () const
 Getter for sbd bin separation. More...
 
int GetSBDMaxBin () const
 Getter for sbdmax bin. More...
 
void GetSBDWindow (double &low, double &high) const
 Getter for sbd window. More...
 
double GetSearchMaximumAmplitude () const
 
void SetDRWindow (double low, double high)
 Setter for dr window. More...
 
void SetMBDWindow (double low, double high)
 Setter for mbd window. More...
 
void SetReferenceFrequency (double ref_freq)
 Setter for reference frequency. More...
 
void SetSBDWindow (double low, double high)
 Setter for sbd window. More...
 
void SetWeights (weight_type *wt_data)
 Setter for weights. More...
 
- Public Member Functions inherited from hops::MHO_InspectingOperator< visibility_type >
 MHO_InspectingOperator ()
 
virtual ~MHO_InspectingOperator ()
 
virtual bool Execute () override
 Executes the inspection on the input array. More...
 
virtual bool Initialize () override
 initializes inspection for a single const array of type XArgType. More...
 
virtual void SetArgs (const visibility_type *in)
 Setter for args. More...
 
- Public Member Functions inherited from hops::MHO_Operator
 MHO_Operator ()
 
virtual ~MHO_Operator ()
 
std::string GetName () const
 Getter for operator name. More...
 
virtual double Priority () const
 Get the the priority field value. More...
 
void SetName (std::string name)
 Setter for operator name. More...
 
virtual void SetPriority (const double &priority)
 Setter for operator priority (determines order of execution within a operator category) More...
 

Protected Types

using XArgType = visibility_type
 
- Protected Types inherited from hops::MHO_MBDelaySearch
using FFT_ENGINE_TYPE = MHO_MultidimensionalFastFourierTransform< mbd_type >
 
using XArgType = visibility_type
 

Protected Member Functions

virtual bool ExecuteImpl (const XArgType *in) override
 Executes MBDelaySearch algorithm using provided input arguments. More...
 
virtual bool InitializeImpl (const XArgType *in) override
 Initializes MHO_MBDelaySearchCUDA with input arguments and calculates frequency grid for MBD search. More...
 
- Protected Member Functions inherited from hops::MHO_MBDelaySearch
void GetWindow (const MHO_Axis< double > &axis, bool win_set, const double *win, double bin_width, double &low, double &high) const
 
void SetWindow (double *win, double low, double high)
 

Additional Inherited Members

- Protected Attributes inherited from hops::MHO_MBDelaySearch
double fAverageFreq
 
std::vector< double > fChannelFreqs
 
std::map< std::size_t, std::size_t > fChannelIndexToFreqPointIndex
 
double fCoarseDR
 
double fCoarseMBD
 
double fCoarseSBD
 
MHO_CyclicRotator< mbd_typefCyclicRotator
 
MHO_DelayRate fDelayRateCalc
 
MHO_Axis< double > fDRAxis
 
double fDRBinSep
 
int fDRMaxBin
 
double fDRWin [2]
 
bool fDRWinSet
 
FFT_ENGINE_TYPE fFFTEngine
 
MHO_UniformGridPointsCalculator fGridCalc
 
double fGridSpace
 
double fGridStart
 
bool fInitialized
 
double fMax
 
MHO_ExtremaSearch< mbd_amp_typefMaxSearch
 
mbd_amp_type fMBDAmpWorkspace
 
MHO_Axis< double > fMBDAxis
 
std::map< std::size_t, std::size_t > fMBDBinMap
 
double fMBDBinSep
 
int fMBDMaxBin
 
double fMBDWin [2]
 
bool fMBDWinSet
 
mbd_type fMBDWorkspace
 
std::size_t fNDR
 
std::size_t fNDRSP
 
std::size_t fNGridPoints
 
double fNPointsSearched
 
std::size_t fNSBD
 
double fRefFreq
 
MHO_Axis< double > fSBDAxis
 
double fSBDBinSep
 
visibility_type fSBDDrWorkspace
 
int fSBDMaxBin
 
int fSBDStart
 
int fSBDStop
 
double fSBDWin [2]
 
bool fSBDWinSet
 
weight_typefWeights
 
weight_type fWeightsWorkspace
 
visibility_type sbd_dr_data
 
- Protected Attributes inherited from hops::MHO_InspectingOperator< visibility_type >
const visibility_typefArg
 

Detailed Description

Class MHO_MBDelaySearchCUDA.

This is an ultra basic CUDA implementation of the the coarse MBD/SBD/DR search, its quite primitive and only calls the CUFFT library to speed up the inner-most loop over (DR,MBD) space. It is not optimized and has far too much movement of data between host <-> device, additional work is need to optimize this routine.

Author
J. Barrett - barre.nosp@m.ttj@.nosp@m.mit.e.nosp@m.du @dateTue Jul 16 10:40:47 PM EDT 2024

Member Typedef Documentation

◆ XArgType

Constructor & Destructor Documentation

◆ MHO_MBDelaySearchCUDA()

hops::MHO_MBDelaySearchCUDA::MHO_MBDelaySearchCUDA ( )

◆ ~MHO_MBDelaySearchCUDA()

hops::MHO_MBDelaySearchCUDA::~MHO_MBDelaySearchCUDA ( )
virtual

Member Function Documentation

◆ ExecuteImpl()

bool hops::MHO_MBDelaySearchCUDA::ExecuteImpl ( const XArgType in)
overrideprotectedvirtual

Executes MBDelaySearch algorithm using provided input arguments.

Parameters
inInput argument of type const XArgType* containing frequency axis and delay rate workspace.
Returns
Boolean indicating whether the execution was successful or not.
Note
This is a virtual function.

Reimplemented from hops::MHO_MBDelaySearch.

◆ InitializeImpl()

bool hops::MHO_MBDelaySearchCUDA::InitializeImpl ( const XArgType in)
overrideprotectedvirtual

Initializes MHO_MBDelaySearchCUDA with input arguments and calculates frequency grid for MBD search.

Parameters
inInput argument of type const XArgType* containing channel axis data
Returns
True if initialization is successful, false otherwise
Note
This is a virtual function.

Reimplemented from hops::MHO_MBDelaySearch.


The documentation for this class was generated from the following files: