24 #ifndef SKA_CHEETAH_DDTR_ASTROACCELERATE_DDTRWORKER_H 25 #define SKA_CHEETAH_DDTR_ASTROACCELERATE_DDTRWORKER_H 27 #include "cheetah/ddtr/astroaccelerate/DedispersionStrategy.h" 28 #include "cheetah/ddtr/DedispersionConfig.h" 29 #include "cheetah/utils/Architectures.h" 35 namespace astroaccelerate {
42 template<
typename DdtrTraits>
46 typedef cheetah::Cuda Architecture;
47 typedef panda::nvidia::DeviceCapability<3, 5, panda::nvidia::giga> ArchitectureCapability;
48 typedef typename DdtrTraits::DmTrialsType DmTrialsType;
49 typedef typename DdtrTraits::NumericalRep NumericalRep;
57 template<
typename BufferType>
58 std::shared_ptr<DmTrialsType>
operator()(panda::PoolResource<cheetah::Cuda>&, BufferType
const&);
64 template<
typename TimeFrequencyType>
68 std::shared_ptr<data::DmTrialsMetadata> _dm_trial_metadata;
69 std::shared_ptr<DedispersionStrategy<NumericalRep>> _strategy;
77 #include "detail/DdtrWorker.cpp" 79 #endif // SKA_CHEETAH_DDTR_ASTROACCELERATE_DDTRWORKER_H std::size_t set_dedispersion_strategy(std::size_t min_gpu_memory, TimeFrequencyType const &)
specify parameters to generate a suitable dedispersion compute strategy
Some limits and constants for FLDO.
std::shared_ptr< DmTrialsType > operator()(panda::PoolResource< cheetah::Cuda > &, BufferType const &)
call the dedispersion algorithm using the provided device