fused_fftconv2d_bhl#

fused_fftconv2d_bhl(x, kernel, shortcut=None, fft_size=None)#

Fused 2D FFT convolution, BHL layout [B, H, X, Y], native dtype.

Drop-in replacement for nvsubquadratic.ops.fftconv.fftconv2d_fp32_bhl() that runs the CUDA kernel in x.dtype rather than upcasting to fp32. Numerically equivalent to the reference up to dtype roundoff (~3e-7 relative in fp32, ~2e-3 in bf16).

Parameters:
  • x (Tensor) – Input tensor [B, H, X, Y], with X, Y <= 64.

  • kernel (Tensor) – Kernel tensor [1|B, H, Kx, Ky]. Cast to x.dtype if needed.

  • shortcut (Tensor | None) – Optional per-channel scale [H].

  • fft_size (int | None) – Optional explicit FFT tile size from (8, 16, 32, 64, 128). Defaults to the smallest admissible tile.

Returns:

Output tensor [B, H, X, Y] in x.dtype.

Raises:
  • ValueError – If the shapes exceed what the fused kernel supports.

  • ImportError – If subquadratic_ops_torch is not installed.

Return type:

Tensor