1 #include "cheetah/brdz/cuda/Brdz.h" 2 #include "cheetah/cuda_utils/cuda_thrust.h" 22 inline __host__ __device__
void operator()(
unsigned bin);
35 _ptr[bin] = ComplexType(0.0,0.0);
40 template <
typename T,
typename Alloc>
45 PANDA_LOG_DEBUG <<
"GPU ID: "<<gpu.device_id();
46 thrust::device_vector<unsigned> bins;
47 auto const& birdies = _algo_config.birdies();
48 for (
auto& birdie: birdies)
50 std::size_t upper_bin = input.frequency_to_bin(birdie.frequency()+birdie.width() / 2.0);
51 std::size_t lower_bin = input.frequency_to_bin(birdie.frequency()-birdie.width() / 2.0);
52 upper_bin = std::min(upper_bin, input.size());
53 lower_bin = std::max(std::size_t(0), lower_bin);
54 for (std::size_t bin=lower_bin; bin<upper_bin; ++bin)
55 bins.push_back((
unsigned)bin);
57 ComplexType* ptr = thrust::raw_pointer_cast(input.data());
void process(ResourceType &gpu, data::FrequencySeries< Architecture, typename data::ComplexTypeTraits< Architecture, T >::type, Alloc > &input)
Set to zero frequencies marked as birdies.
A container of Fourier series data.
A helper class to determine the type of complex data for different architectures. ...
Some limits and constants for FLDO.
A functor for setting complex data to 0+0j.