Cheetah - SKA - PSS - Prototype Time Domain Search Pipeline
Tdrt.cuh
1 #ifndef SKA_CHEETAH_TDRT_CUDA_TDRT_H
2 #define SKA_CHEETAH_TDRT_CUDA_TDRT_H
3 
4 #include "cheetah/tdrt/cuda/Config.h"
5 #include "cheetah/tdrt/Config.h"
6 #include "cheetah/data/TimeSeries.h"
7 #include "cheetah/data/Units.h"
8 #include "cheetah/utils/Architectures.h"
9 #include "cheetah/utils/AlgorithmBase.h"
10 #include "panda/arch/nvidia/DeviceCapability.h"
11 
12 namespace ska {
13 namespace cheetah {
14 namespace tdrt {
15 namespace cuda {
16 
22 class Tdrt: public utils::AlgorithmBase<Config, tdrt::Config>
23 {
24  public:
25  typedef cheetah::Cuda Architecture;
26  typedef panda::nvidia::DeviceCapability<2,0, panda::nvidia::giga/2> ArchitectureCapability;
27  typedef panda::PoolResource<Architecture> ResourceType;
28 
29  public:
30  Tdrt(Config const& config, tdrt::Config const& algo_config);
31  Tdrt(Tdrt const&) = delete;
32  Tdrt(Tdrt&&) = default;
33  ~Tdrt();
34 
46  template <typename T, typename Alloc>
47  void process(ResourceType& gpu,
50  data::AccelerationType acceleration);
51 };
52 
53 } //cuda
54 } //tdrt
55 } //cheetah
56 } //ska
57 
58 #include "cheetah/tdrt/cuda/detail/Tdrt.cu"
59 
60 #endif //SKA_CHEETAH_TDRT_CUDA_TDRT_H
61 
62 
63 
64 
65 
66 
67 
configuration for the tdrt module
Definition: Config.h:41
Some limits and constants for FLDO.
Definition: Brdz.h:35
Class for time series data.
Definition: TimeSeries.h:47
void process(ResourceType &gpu, data::TimeSeries< Architecture, T, Alloc > const &input, data::TimeSeries< Architecture, T, Alloc > &output, data::AccelerationType acceleration)
Resample a time series to a given acceleration.
Definition: Tdrt.cu:13
configuration for the tdrt module
Definition: Config.h:39
CUDA/Thrust implementation of the Tdrt algorithm.
Definition: Tdrt.cuh:22