Double-Batched FFT Library#

The Double-Batched FFT Library is a library for computing the Fast Fourier Transform (FFT). The library targets Graphics Processing Units, supporting OpenCL, Level Zero, and SYCL.

The library supports double-batching. That is, let \(x\) be the input tensor of shape \(M \times N_1 \times \dots \times N_D \times K\), with \(D=1,2,3\). The D-dimensional FFT should be computed over the N-modes for every M-mode and K-mode. Think of a two-level nested loop over indices m and k where the FFT is applied on the subtensor \(x(m,:,...,:,k)\). Double-batching means the capability to batch both indices m and k in a single kernel call. Note that most FFT library for GPUs support single-batching, e.g. for \(M=1\).

Note

For all runtimes, the library requires the cl_intel_required_subgroup_size extension. For the OpenCL runtime, the cl_intel_unified_shared_memory extension is required.

License#

BSD 3-Clause License

Table of contents#