The GitHub Actions job "CI" on tvm.git/tflite-fft-complex-19519 has succeeded.
Run started by GitHub user Aharrypotter (triggered by Aharrypotter).

Head commit for run:
970f681a73ff969e9b36c29490b7a1d8fc8cc64c / Aharrypotter 
<[email protected]>
[Relax][Frontend][TFLite] Add RFFT2D op and supporting TIR kernels

Convert TFLite RFFT2D (2D real FFT over the last two input axes) into a
Relax call_tir kernel that produces a float32 real/imag pair output (the
internal representation of COMPLEX64 tensors, which Relax does not have
natively). Two primfuncs are provided:

* A reference O(B*H*W*H*W) DFT kernel used as the fallback for odd /
  non-power-of-2 spatial sizes. The outer (batch, out_y, out_x) iteration
  is structured as S-TIR spatial axes so a downstream tir.schedule pass
  can parallelize it.
* A Cooley-Tukey O(B*H*W*log(H*W)) FFT kernel dispatched when both
  height and width are positive powers of 2. The bit-reversal
  permutation is precomputed in Python and the butterfly stages are
  fully unrolled at primfunc construction time. The generated TIR is
  registered in linecache so the parser can resolve it.

Four supporting helpers centralize the COMPLEX64 pair representation:
_is_tflite_complex64_type, _unwrap_tflite_tensor,
_get_relax_tensor_dtype, _get_relax_tensor_shape. The 3 callers that
construct Relax parameters from TFLite metadata (subgraph params, tensor
params, tensor metadata match) now go through these helpers so future
COMPLEX64 ops can plug in without re-implementing the pair-axis rule.

convert_rfft2d validates rank, dtype, fft_length shape, integer-ness,
positivity, fft_length==input spatial shape, output shape agreement,
and the absence of sparse inputs. Dynamic/non-constant fft_length now
raises a clean OpNotImplemented instead of falling through to an
AttributeError.

The Cooley-Tukey path precomputes twiddle factors in Python and inlines
them as float32 literals, avoiding runtime T.cos/T.sin calls in the fully
unrolled butterfly stages.

Tests: 12 FlatBuffers-driven cases covering the static no-batch / 3D
batched / 4D / INT64 fft_length / minimal 1x1 / mismatched fft_length /
dynamic fft_length / odd-width numerical paths plus the Cooley-Tukey
dispatch paths (4x4, 8x8, 16x16, 2x2x4x8).

Report URL: https://github.com/apache/tvm/actions/runs/27677813541

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to