5 #include <cuda_runtime.h>
9 #include "cuda_error_check.hpp"
14 class cuFFT : public Fft
18 void init(unsigned width, unsigned height, unsigned num_of_feats, unsigned num_of_scales) override;
19 void set_window(const MatDynMem &window) override;
20 void forward(const MatScales &real_input, ComplexMat &complex_result) override;
21 void forward_window(MatScaleFeats &patch_feats_in, ComplexMat &complex_result, MatScaleFeats &tmp) override;
22 void inverse(ComplexMat &complex_input, MatScales &real_result) override;
26 cufftHandle create_plan_fwd(uint howmany) const;
27 cufftHandle create_plan_inv(uint howmany) const;
31 cufftHandle plan_f, plan_fw, plan_i_1ch;
33 cufftHandle plan_f_all_scales, plan_fw_all_scales, plan_i_all_scales;
35 cublasHandle_t cublas;