24 #ifndef SKA_CHEETAH_DDTR_CPU_DDTR_H 25 #define SKA_CHEETAH_DDTR_CPU_DDTR_H 27 #include "cheetah/ddtr/cpu/Config.h" 28 #include "cheetah/ddtr/cpu/DedispersionPlan.h" 29 #include "cheetah/ddtr/cpu/detail/Worker.h" 30 #include "cheetah/ddtr/Config.h" 31 #include "cheetah/data/TimeFrequency.h" 32 #include "cheetah/utils/Architectures.h" 39 template<
typename DdtrTraits>
43 typedef typename DdtrTraits::DmTrialsType DmTrialsType;
44 typedef typename DdtrTraits::TimeFrequencyType TimeFrequencyType;
45 typedef typename DdtrTraits::BufferType BufferType;
50 typedef Cpu Architecture;
64 std::shared_ptr<DmTrialsType>
operator()(panda::PoolResource<cheetah::Cpu>& cpu
65 , BufferType
const& data);
71 void plan(DedispersionPlan
const&
plan);
74 static_assert(std::is_empty<
Worker<DdtrTraits>>::value,
"If you are adding state to Worker then you will need to use DeviceLocal for thread safety");
76 std::shared_ptr<DedispersionPlan> _plan;
85 #include "cheetah/ddtr/cpu/detail/Ddtr.cpp" 87 #endif // SKA_CHEETAH_DDTR_CPU_DDTR_H std::shared_ptr< DmTrialsType > operator()(panda::PoolResource< cheetah::Cpu > &cpu, BufferType const &data)
dedispersion of time frequency data on CPU DmTialsHandler called when buffer is full.
configuration parameters for the ddtr cpu module
Some limits and constants for FLDO.
void plan(DedispersionPlan const &plan)
set a new dedispersion plan
detail class that matches the workload of a single thread