Add compact B200 FFT3D support to the shared kernel package
Add B200 support to the existing build/torch-cuda package and its r2c, c2r, prepare_r2c, and prepare_c2r interface. Dispatch by device and dtype. Retain the selected plans and their dependencies, consolidate duplicate helpers, and remove the separate B200 loader and duplicated documentation: 107 B200 source files instead of 546, with 147 files in the complete repository tree. The 35 existing RTX 5090 implementation/license files are byte-identical to v1; shared dispatch and package metadata are updated. The existing v1 release and the separate one-dimensional repository remain unchanged.
Document the corrected B200 benchmark against direct cuFFT 3D plans: 1.1300x geometric mean across 32 workloads, corroborated by an independent 1.1277x run. The same primary run measured 1.3644x against default PyTorch's split-plan path. Inverse timings include input preservation; including boundary projection for arbitrary packed spectra gives 1.1125x. Keep every per-shape speedup and latency, including slowdowns and the documented native FP32 stress-test limits.
Validation:
- An idle, locked local B200 with PyTorch 2.11.0+cu130 and Triton 3.6.0: all 32 compact outputs are bitwise identical to the prior implementation; all 320 scalar-alignment pairs match, with changed-input CUDA graph replay, reused prepared outputs, independent streams, and invalid-input rejection checked.
- The official
kernels0.17.2 loader imports the package; its source-digest validation passes. All 208 retained source dependencies match after import/resource-path rewriting and removal of unused wrappers. All 112 Python files parse; all four performance tables are unchanged. - The published performance tables retain the separate October 14 measurements on PyTorch 2.13.0+cu130 and Triton 3.7.1. Those runs passed all 144 candidate numerical and input-contract checks. Packaging validation does not replace that timing protocol.
Only runtime source, existing licensing, package metadata, and the common README are published. Benchmark harnesses, raw results, and compaction manifests remain outside the package.