Cheetah - SKA - PSS - Prototype Time Domain Search Pipeline
Public Types | Public Member Functions | List of all members
ska::cheetah::sps::SpecificSpsTask< DmHandler, SpHandler, CommonTraits, PoolType, Algos > Class Template Reference
Inheritance diagram for ska::cheetah::sps::SpecificSpsTask< DmHandler, SpHandler, CommonTraits, PoolType, Algos >:
Inheritance graph
Collaboration diagram for ska::cheetah::sps::SpecificSpsTask< DmHandler, SpHandler, CommonTraits, PoolType, Algos >:
Collaboration graph

Public Types

typedef ImplementationsType::Architectures Architectures
 
- Public Types inherited from ska::cheetah::sps::SpsTask< DmHandler, SpHandler, CommonTraits >
typedef ImplementationsType::Architectures Architectures
 

Public Member Functions

 SpecificSpsTask (DmHandler dm_handler, SpHandler sm_handler, PoolType &pool, Algos &&... algos)
 
 SpecificSpsTask (SpecificSpsTask const &)=delete
 
virtual std::shared_ptr< panda::ResourceJob > submit (BufferType buffer) override
 
template<typename Arch >
void operator() (panda::PoolResource< Arch > &, BufferType buffer)
 execute Sps task on a given accelerator
 
std::size_t buffer_overlap () const override
 the number of samples to be copied from the end of one buffer in tot the beginning of the next More...
 
std::size_t set_dedispersion_strategy (std::size_t memory_min, TimeFrequencyType const &data) override
 specify parameters to generate a suitable dedispersion compute strategy More...
 
void finish (BufferFillerType &buffer_filler) override
 block until all buffers are flushed and processed
 
std::shared_ptr< SpecificSpsTaskshared_from_this ()
 get the correct shred_from_this type
 
- Public Member Functions inherited from ska::cheetah::sps::SpsTask< DmHandler, SpHandler, CommonTraits >
 SpsTask (DmHandler dm_handler, SpHandler sm_handler)
 
 SpsTask (SpsTask const &)=delete
 
template<typename DataType >
void call_dm_handler (DataType &&d) const
 call the dm handler directly with the provided data
 
template<typename DataType >
void call_sp_handler (DataType &&d) const
 call the sp handler directly with the provided data
 

Additional Inherited Members

- Protected Types inherited from ska::cheetah::sps::SpsTask< DmHandler, SpHandler, CommonTraits >
typedef CommonTraits::BufferType BufferType
 
typedef CommonTraits::BufferFillerType BufferFillerType
 
typedef CommonTraits::TimeFrequencyType TimeFrequencyType
 
- Protected Attributes inherited from ska::cheetah::sps::SpsTask< DmHandler, SpHandler, CommonTraits >
DmHandler _dm_handler
 
SpHandler _sp_handler
 

Detailed Description

template<typename DmHandler, typename SpHandler, typename CommonTraits, typename PoolType, typename... Algos>
class ska::cheetah::sps::SpecificSpsTask< DmHandler, SpHandler, CommonTraits, PoolType, Algos >

Definition at line 98 of file SpsTask.h.

Member Function Documentation

◆ buffer_overlap()

template<typename DmHandler , typename SpHandler , typename CommonTraits , typename PoolType , typename... Algos>
std::size_t ska::cheetah::sps::SpecificSpsTask< DmHandler, SpHandler, CommonTraits, PoolType, Algos >::buffer_overlap ( ) const
overridevirtual

the number of samples to be copied from the end of one buffer in tot the beginning of the next

tprocessed is the number of time samples required to be able to process the specified dm ranges (via the config)

Reimplemented from ska::cheetah::sps::SpsTask< DmHandler, SpHandler, CommonTraits >.

Definition at line 132 of file SpsTask.cpp.

133 {
134  std::size_t buffer_overlap=0;
135  panda::ForEach<typename ImplementationsType::Architectures, BufferOverlap>::exec(_algos, buffer_overlap);
136  return buffer_overlap;
137 }
std::size_t buffer_overlap() const override
the number of samples to be copied from the end of one buffer in tot the beginning of the next ...
Definition: SpsTask.cpp:132

◆ set_dedispersion_strategy()

template<typename DmHandler , typename SpHandler , typename CommonTraits , typename PoolType , typename... Algos>
std::size_t ska::cheetah::sps::SpecificSpsTask< DmHandler, SpHandler, CommonTraits, PoolType, Algos >::set_dedispersion_strategy ( std::size_t  memory_min,
TimeFrequencyType const &  data 
)
overridevirtual

specify parameters to generate a suitable dedispersion compute strategy

Returns
the minimum sample size required for the specified parameters

Reimplemented from ska::cheetah::sps::SpsTask< DmHandler, SpHandler, CommonTraits >.

Definition at line 149 of file SpsTask.cpp.

152 {
153  std::size_t memory=(memory_limit==0)?std::numeric_limits<std::size_t>::max():memory_limit;
154  panda::ForEach<typename ImplementationsType::Architectures, SetDedispersionStrategy>::exec(_algos, memory, memory_limit, data);
155  return memory;
156 }

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