COMPMID-1959: Implements 2D FFT on OpenCL
Change-Id: I73cf3984a5463acc854c8a59dc2bd9a5234cd99c
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-on: https://review.mlplatform.org/c/936
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
diff --git a/arm_compute/runtime/CL/functions/CLFFT1D.h b/arm_compute/runtime/CL/functions/CLFFT1D.h
index 1612cf7..029023c 100644
--- a/arm_compute/runtime/CL/functions/CLFFT1D.h
+++ b/arm_compute/runtime/CL/functions/CLFFT1D.h
@@ -28,6 +28,7 @@
#include "arm_compute/core/CL/kernels/CLFFTDigitReverseKernel.h"
#include "arm_compute/core/CL/kernels/CLFFTRadixStageKernel.h"
+#include "arm_compute/core/CL/kernels/CLFFTScaleKernel.h"
#include "arm_compute/runtime/CL/CLMemoryGroup.h"
#include "arm_compute/runtime/CL/CLTensor.h"
#include "arm_compute/runtime/FunctionDescriptors.h"
@@ -39,8 +40,9 @@
/** Basic function to execute one dimensional FFT. This function calls the following OpenCL kernels:
*
- * -# @ref CLFFTDigitReverseKernel Performs digit reverse
- * -# @ref CLFFTRadixStageKernel A list of FFT kernels depending on the radix decomposition
+ * -# @ref CLFFTDigitReverseKernel Performs digit reverse.
+ * -# @ref CLFFTRadixStageKernel A list of FFT kernels depending on the radix decomposition.
+ * -# @ref CLFFTScaleKernel Performs output scaling in case of in inverse FFT.
*/
class CLFFT1D : public IFunction
{
@@ -69,11 +71,13 @@
protected:
CLMemoryGroup _memory_group;
- CLTensor _digit_reversed_input;
- CLTensor _digit_reverse_indices;
CLFFTDigitReverseKernel _digit_reverse_kernel;
std::unique_ptr<CLFFTRadixStageKernel[]> _fft_kernels;
+ CLFFTScaleKernel _scale_kernel;
+ CLTensor _digit_reversed_input;
+ CLTensor _digit_reverse_indices;
unsigned int _num_ffts;
+ bool _run_scale;
};
} // namespace arm_compute
#endif /*__ARM_COMPUTE_CLFFT1D_H__ */