25 typedef unsigned char LocalFlagsType;
27 #include "cheetah/rfim/cuda/src/Kernels.cu" 28 #include "cheetah/rfim/cuda/Rfim.h" 29 #include "panda/arch/nvidia/CudaDevicePointer.h" 30 #include "panda/Error.h" 38 template<
typename TimeFrequencyDataType>
39 void flagger_freq_kernel_template(TimeFrequencyDataType
const& data,
unsigned char* host_flags)
41 typedef typename std::decay<decltype(data)>::type::DataType DataType;
43 std::size_t data_size=data.number_of_channels() * data.number_of_spectra();
45 panda::nvidia::CudaDevicePointer<DataType> device_data(data_size);
46 panda::nvidia::CudaDevicePointer<LocalFlagsType> device_flags(data_size);
47 panda::nvidia::CudaDevicePointer<unsigned> device_nr_flagged(data.number_of_spectra());
50 device_data.write(data.begin(), data.end());
54 flagger_freq<<<data.number_of_spectra(), data.number_of_channels(), (data.number_of_channels() *
sizeof(DataType)) + (data.number_of_channels() *
sizeof(LocalFlagsType))>>>(device_data(), device_flags(), device_nr_flagged(), data.number_of_channels(), data.number_of_spectra());
57 device_flags.read(host_flags);
61 void flagger_freq_kernel(data::TimeFrequency<Cpu, uint8_t>
const& data,
unsigned char* host_flags)
63 flagger_freq_kernel_template(data, host_flags);
Some limits and constants for FLDO.