Cheetah - SKA - PSS - Prototype Time Domain Search Pipeline
Public Types | Public Member Functions | List of all members
ska::cheetah::tdrt::cuda::Tdrt Class Reference

CUDA/Thrust implementation of the Tdrt algorithm. More...

Inheritance diagram for ska::cheetah::tdrt::cuda::Tdrt:
Inheritance graph
Collaboration diagram for ska::cheetah::tdrt::cuda::Tdrt:
Collaboration graph

Public Types

typedef cheetah::Cuda Architecture
 
typedef panda::nvidia::DeviceCapability< 2, 0, panda::nvidia::giga/2 > ArchitectureCapability
 
typedef panda::PoolResource< Architecture > ResourceType
 

Public Member Functions

 Tdrt (Config const &config, tdrt::Config const &algo_config)
 
 Tdrt (Tdrt const &)=delete
 
 Tdrt (Tdrt &&)=default
 
template<typename T , typename Alloc >
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. More...
 
- Public Member Functions inherited from ska::cheetah::utils::AlgorithmBase< Config, tdrt::Config >
 AlgorithmBase (Config const &impl_config, tdrt::Config const &algo_config)
 
 AlgorithmBase (AlgorithmBase const &)=delete
 
 AlgorithmBase (AlgorithmBase &&)=default
 

Additional Inherited Members

- Protected Attributes inherited from ska::cheetah::utils::AlgorithmBase< Config, tdrt::Config >
Config const & _impl_config
 
tdrt::Config const & _algo_config
 

Detailed Description

CUDA/Thrust implementation of the Tdrt algorithm.

Definition at line 22 of file Tdrt.cuh.

Member Function Documentation

◆ process()

template<typename T , typename Alloc >
void ska::cheetah::tdrt::cuda::Tdrt::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.

Parameters
gpuThe gpu to be processed on
inputThe input time series
outputThe output time series
[in]accelerationThe acceleration value to resample to
Template Parameters
TThe value types of input and output
AllocThe allocator types of input and output

Definition at line 13 of file Tdrt.cu.

17 {
18  typedef thrust::counting_iterator<std::size_t> CountIt;
19  typedef thrust::transform_iterator< TdrtMap, CountIt > MapIt;
20  PANDA_LOG_DEBUG << "GPU ID: "<<gpu.device_id();
21  output.resize(input.size());
22  CountIt begin(0);
23  MapIt iter(begin, TdrtMap(acceleration, input.size(), input.sampling_interval()));
24  thrust::gather(thrust::cuda::par,
25  iter,
26  iter+input.size(),
27  input.begin(),
28  output.begin());
29  output.sampling_interval(input.sampling_interval());
30 }
Here is the call graph for this function:

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