Skip to content

Battlestars

We implemented four kernels for the Helion challenge on NVIDIA B200 GPUs, prioritizing FP32 accumulation for precision and 3D tiling for better hardware occupancy.

Core trick

Caches causal conv1d weights and bias in shared memory and registers, accumulates in FP32, and pads inputs with F.pad before launch.

Tags

Description

We implemented four kernels for the Helion challenge on NVIDIA B200 GPUs, prioritizing FP32 accumulation for precision and 3D tiling for better hardware occupancy. causal_conv1d: This is a causal depthwise 1D convolution used in Mamba and Mamba-2 architectures. We optimized this by using F.pad before the kernel launch and caching the weights and bias in the SRAM (the GPU's fast on-chip memory) and Registers. This resulted in execution times ranging from 0.03ms to 0.09ms on the B200. gated_deltanet_chunk_fwd_h: This kernel handles the inter-chunk state recurrence. We achieved performance gains by removing redundant hl.dot (matrix multiplication) calls and streamlining the math used for the gating mechanism. It runs in 0.005ms to 0.08ms. gated_deltanet_chunk_fwd_o: This kernel computes the final output. We utilized B200-specific Advanced Control Files (ACFs) to tune hardware parameters and implemented lazy-compilation to avoid timing out on the 12-minute leaderboard limit. Performance ranges from 0.02ms to 0.06ms. gated_deltanet_recompute_w_u: This handles the forward WY-transform. We achieved a speedup by vectorizing the matrix multiplications (processing multiple data points at once) and scaling the K and V vectors before performing a single hl.dot pass. This takes 0.13ms to 0.36ms. Take a look at our cool dashboard in the repo for screenshots and instructions on how to run it! :)

Team