Developer Reference

Contents

compute_backward<typename descriptor_type, typename data_type>

Computes the backward FFT. This routine belongs to the
oneapi::mkl::dft
namespace.

Description

The
compute_backward<typename descriptor_type, typename data_type>
function accepts a descriptor object followed by one or more data parameters. Given a successfully configured and committed descriptor, this function computes the backward FFT, that is, the transform with the plus sign in the exponent, LaTex Math image.. This function throws an
std::runtime_exception
in the case that it fails.
The FFT descriptor must be properly configured prior to the function call. Function calls needed to configure an FFT descriptor for a particular call to an FFT computation function are summarized in Configuring and Computing an FFT in C/C++.
The number of data parameters to be provided depends exclusively on the descriptor’s PLACEMENT configuration parameter. In-place (default) operations require only one data parameter while out-of-place operations take two distinct data parameters. The function’s behavior is undefined otherwise.

API

Syntax
Using SYCL buffers
namespace oneapi::mkl::dft{ void compute_backward<descriptor_type, data_type>(descriptor_type &desc, cl::sycl::buffer<data_type, 1> &inout); void compute_backward<descriptor_type, input_type, output_type>(descriptor_type &desc, cl::sycl::buffer<input_type, 1> &in, cl::sycl::buffer<output_type, 1> &out); }
Using USM pointers
namespace oneapi::mkl::dft{ cl::sycl::event compute_backward<descriptor_type, data_type>(descriptor_type &desc, data_type* inout, const std::vector<cl::sycl::event> &dependencies = {}); cl::sycl::event compute_backward<descriptor_type, input_type, output_type>(descriptor_type &desc, input_type* in, output_type* out, const std::vector<cl::sycl::event> &dependencies = {}); }
Include Files
  • oneapi/mkl/dfti.hpp
Input Parameters
Name
Supported types
Description
inout
  1. cl::sycl::buffer<data_type, 1>
  2. data_type*
Input/output data
in
  1. cl::sycl::buffer<input_type, 1>
  2. input_type*
Input data
  • The parameter name inout (resp. in) corresponds to using a descriptor configured to operate INPLACE (resp. NOT_INPLACE). See descriptor’s PLACEMENT.
  • Whether using i. SYCL buffers or ii. device-accessible USM pointers, the length of the containing array must be no less than specified at construction of the descriptor.
Output Parameters
Name
Supported types
Description
inout
  1. cl::sycl::buffer<data_type, 1>
  2. data_type*
Input/output data
out
  1. cl::sycl::buffer<output_type, 1>
  2. output_type*
Output data
  • The parameter name inout (resp. out) corresponds to using a descriptor configured to operate INPLACE (resp. NOT_INPLACE). See descriptor’s PLACEMENT.
  • Whether using i. SYCL buffers or ii. device-accessible USM pointers, the length of the containing array must be no less than specified at construction of the descriptor.
  • In case of out-of-place operations, the same type is to be used for the parameters in and out.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.