Implement the recompute_w_u forward kernel for Gated DeltaNet.

This kernel computes WY-transformed keys (w) and values (u) for the chunkwise
parallel forward pass of Gated DeltaNet (arXiv:2412.06464, ICLR 2025). It is
one of three per-chunk kernels in the forward pipeline.

The sequence is divided into non-overlapping chunks of BT=64 timesteps.
For each chunk independently:
  u = A @ diag(beta) @ v           (WY-transformed values)
  w = A @ diag(beta * exp(g)) @ k  (WY-transformed keys)

Equivalently:
  u = A @ (v * beta[:, None])
  w = A @ (k * beta[:, None] * exp(g)[:, None])

where A is a [BT, BT] WY representation matrix per chunk.

Input: tuple(k, v, beta, A, g) where:
  - k: torch.Tensor of shape [B, T, H, K] (float32) — keys
  - v: torch.Tensor of shape [B, T, H, V] (float32) — values
  - beta: torch.Tensor of shape [B, T, H] (float32) — gating coefficients
  - A: torch.Tensor of shape [B, T, H, BT] (float32) — WY matrix (BT=64)
  - g: torch.Tensor of shape [B, T, H] (float32) — cumulative gate

Output: tuple(w, u) where:
  - w: torch.Tensor of shape [B, T, H, K] (float32) — WY-transformed keys
  - u: torch.Tensor of shape [B, T, H, V] (float32) — WY-transformed values

Constraint: T must be a multiple of 64.
