Skip to content

[codex] Add v0.6 general-shape plan API - #5

Merged
TruNcat3 merged 2 commits into
mainfrom
feature/v0.6.0-general-shapes
Aug 11, 2026
Merged

TruNcat3 merged 2 commits into
mainfrom
feature/v0.6.0-general-shapes

Conversation

@TruNcat3

Copy link
Copy Markdown
Owner

What changed

  • add a CUDA-library-style C handle/descriptor/plan API with streams, caller workspace, status codes, logs, exact-key cache, and bounded measurement
  • add exact arbitrary FP32/FP64 FFT and compatible uint64 NTT lowering, zero-extended embedding for all operators, and rank-two axis composition
  • propagate physical-axis selection into compositions, add direct-output lowering, and select fused logical input for warp-register FP32 FWHT
  • add the general-shape benchmark, V100 application profiles, correctness tests, raw measurements, and layered v0.6 documentation

Why

The project architecture treats shape lowering, space-time mapping, physical processing units, and boundary residence as separate design choices. This change extends that model beyond native power-of-two physical plans while preserving explicit semantics and auditable selection.

User and research impact

Applications can use a professional plan workflow for exact, embedded, and rank-two workloads. The selected 32767 -> 32768, batch-256 FWHT composition falls from 0.73772 ms initially to 0.11759 ms after physical-core and boundary selection. Direct exact FFT intentionally abstains to cuFFT at parity rather than presenting Bluestein overhead as the library result.

Structured fused input remains a correct generated candidate but is not enabled by default because it regresses on V100. Cross-GPU transfer and universal superiority remain outside the claim.

Validation

  • ctest --output-on-failure: 49/49 passed on V100 with CUDA 11.8
  • python3 scripts/check_repository.py
  • git diff --check
  • five-trial V100 fused-input timing archived in results/general_shape_fused_input_v100_raw.csv

@TruNcat3
TruNcat3 marked this pull request as ready for review August 11, 2026 06:09
@TruNcat3
TruNcat3 merged commit 5210a61 into main Aug 11, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant