24 #ifndef SKA_CHEETAH_FLDO_CUDA_FLDO_H 25 #define SKA_CHEETAH_FLDO_CUDA_FLDO_H 26 #include "cheetah/fldo/Config.h" 27 #include "cheetah/fldo/cuda/Config.h" 28 #include "cheetah/fldo/Types.h" 35 template<
typename FldoTraits
36 ,
typename Enable=
void>
40 typedef cheetah::Cpu Architecture;
41 typedef panda::PoolResource<Architecture> ResourceType;
51 throw panda::Error(
"fldo cuda origami algo does not exist for this data type");
53 throw panda::Error(
"fldo cuda(origami) algo has not been compiled in. recompile with cmake -DENABLE_CUDA=true option");
57 std::shared_ptr<data::Ocld> operator()(ResourceType&
58 , std::vector<std::shared_ptr<TimeFrequencyType>>
const&
61 std::shared_ptr<data::Ocld> output = data::Ocld::make_shared();
72 #include "cheetah/fldo/cuda/detail/Fldo.cuh" 80 template<
typename FldoTraits>
82 , typename std::enable_if<std::is_same<typename FldoTraits::TimeFrequencyType::value_type, uint8_t>::value>::type>
88 typedef cheetah::Cuda Architecture;
89 typedef typename BaseT::ArchitectureCapability ArchitectureCapability;
91 typedef panda::PoolResource<Architecture> ResourceType;
92 typedef typename BaseT::Config
Config;
102 std::shared_ptr<data::Ocld> operator()(ResourceType& res
106 return BaseT::operator()(res, data, scl);
118 #endif // SKA_CHEETAH_FLDO_CUDA_FLDO_H
Some limits and constants for FLDO.
The interface for the CUDA FLDO algorithm.
Configuration details for the fldo module.