Skip to content

FlagFFT v0.2.0

Latest

Choose a tag to compare

@wbavon wbavon released this 28 Sep 09:23

FlagFFT v0.2.0

Part of FlagOS 2.2.

Changes since v0.1.0 (FlagOS 2.1).

9 pull requests and 384 additional commits.

Source: v0.2.0, commit 46338c973526.

New Features

  • Add PPU backend support and improve codegen for libtriton_jit (#16) by @Artlesbol
  • feat(npu): Ascend NPU backend for 1D/2D/3D FFT + launch-limit, codegen-import and kernel-cache fixes (#21) by @Artlesbol
  • feat: add contiguous row-major rank-2 C2C/Z2Z 2D FFT via RTRT decomposition (c6ce5ab63794; commit)
  • feat: add 2D FFT benchmark cases to all suites (8d9154e02837; commit)
  • feat: implement 2D R2C/C2R/D2Z/Z2D FFT support (ac9b600d4fc5; commit)
  • feat: add Rader algorithm for prime-size FFT acceleration (193ffb6395b5; commit)
  • feat: add TestParams struct, CLI arg parsing, and JSON listener to ctest (d245300a21fa; commit)
  • feat: add tools/consts.py and tools/run_tests.py unified test runner (37aecdf4c981; commit)
  • feat: add CI workflow with unified test runner (c5fe12c72d39; commit)
  • feat: align run_tests.py CLI and output format with upstream FlagGems (7352bd1b0c2d; commit)
  • feat: add decomposition tuner for 2p20 (a72bfe1a0e9f; commit)
  • feat: 支持 3D FFT(RTRT 分解 + 3D 轴置换 kernel) (0f879c2e610d; commit)
  • feat: tune batched complex FFT algorithms and decompositions (873bfedf5b49; commit)
  • feat: accept 36 FFT operators with NumPy validation and runtime plans (b01be40b38cc; commit)
  • feat: add native MACA backend and portable Triton leaf exchange (6c23cd2e3074; commit)
  • feat: align MACA planning with warp64 and split Bluestein execution (e21eae4b7ac6; commit)
  • Add queried hardware profiles and isolated FP64 capability diagnostics (14ed0a580b76; commit)
  • Add paired correctness-gated end-to-end hardware policy experiments (570208c495a3; commit)
  • feat: enable the portable register-tile 3D transpose for MACA (0cf86bf9bfa9; commit)
  • feat(maca): env-gated experiment knobs and a variant A/B harness (0e36c81deaba; commit)
  • feat: 添加 FlagFFT 测试环境搭建文档 (45eb2a8a40b0; commit)
  • feat(maca): tune bounded power-of-two prime convolution alternatives (ce5d27dc422f; commit)
  • Add HCU backend adaptor for BW1000 (a296f1f6a862; commit)
  • feat(maca): scope 2d codegen policy through axis compilation (225e4881368a; commit)
  • feat(maca): add scoped opt-in tail policy and variant-safe codegen caches (f50973b75502; commit)
  • feat(maca): make tail policy API-aware for real transforms (b35e93467bdc; commit)
  • feat(maca): extend tail strategy to measured real prime pairs (7835e1fba765; commit)
  • feat(maca): generalize small real direct-dft strategy bounds (d616489724f8; commit)
  • feat(maca): enable the tail candidate policy by default for rank-1 batch-1 (6952a9e108bf; commit)
  • Add native multiprocess JIT cache regression test (536f64c92f5d; commit)

Performance

  • perf: optimize 2^20 FFT with Triton TLE (d6ee407f013b; commit)
  • perf: reuse shared buffer for 2p20 leaves (3064a3494d6e; commit)
  • perf: add distributed radix-32 leaf for 2p20 (c0a1b798ef3b; commit)
  • perf: use thread-local radix-32 for 2p20 (586f695c887c; commit)
  • perf: generalize thread-local mixed-radix 1d path (b9ea0d7e9ce2; commit)
  • perf: extend mixed-radix 1d leaves (c36fc9b77e1c; commit)
  • perf: repack large mixed-radix four-step leaves (00e2af4a24d7; commit)
  • perf: distribute low-lane mixed-radix stages (feb6939efe34; commit)
  • perf: generalize mixed-radix stage parallelism (ac4219ee29b9; commit)
  • perf: penalize shared-heavy FFT leaves (b15ea1b253d7; commit)
  • perf: model generated mixed-radix leaves (c49a70fe9f9f; commit)
  • perf: extend thread-local FFT to real transforms (4af1fc44391b; commit)
  • perf: improve large-prime Bluestein plan selection (aef798d5a2b5; commit)
  • perf: remove legacy 16384 plan special case (8395b551e266; commit)
  • perf: generalize fused Bluestein for 1D primes (fdf2bbb04eb6; commit)
  • perf: add strided RC and register-transpose paths for 2D FFT (7ee19a7bd900; commit)
  • perf: pack tiny leaves and real-transform row kernels (3a21d08115bd; commit)
  • perf: keep RTRT for large rectangular 2D shapes (8d08f16a833d; commit)
  • perf: scale Bluestein batch chunk by convolution size; revert leaf pack cap (7c6d82673006; commit)
  • perf: vectorize 3D transpose with 8-byte ld/st.global.v2 (c02a626bf5e4; commit)
  • perf: raise four-step col inner pack 2->4 for small-batch throughput (f2cdcf7b9eba; commit)
  • perf: replay 2D RTRT/RC kernel sequences via CUDA Graph (dce53456dab1; commit)
  • perf(cuda): improve small batch-1 z2z leaves on A100 (7c2684658a1e; commit)
  • perf(cuda): generalize small-batch leaf optimization across FFT APIs (5796dd89c3f4; commit)
  • perf(cuda): generalize z2z FourStep with f64 thread-local path (04e718891746; commit)
  • perf(cuda): vectorize generic FourStep complex I/O and twiddles (fe8c5b23138b; commit)
  • Optimize A100 FP64 real and Bluestein FFT paths (884ee756bf14; commit)
  • perf(musa): avoid batch-1 complex 2D graph replay on S5000 (efc88a62d843; commit)
  • perf: fix Bluestein launch packing and tune MUSA 2D paths (a8ea518dd17e; commit)
  • perf: avoid MUSA FP64 mixed-radix codelet spills (d07f6237c6b0; commit)
76 more changes
  • perf: extend paired mixed-radix codelets to MUSA FP32 (795137d06348; commit)
  • perf: enable validated paired codelets on CUDA (944fcd0ea3f1; commit)
  • perf: make paired odd-radix codelets the global default (5e0c4bc1f63a; commit)
  • perf(musa): tune batched 16381 and 131072 FFT plans (1e02124f2d8f; commit)
  • perf: reuse Rader DC and support batched packed-real transforms (11cceb1b3716; commit)
  • perf(maca): use validated two-warp leaf configurations (b7ab30d104ff; commit)
  • perf(maca): avoid device queries in isolated kernel compilation (5faf844fd568; commit)
  • perf: derive four-step column packing from the device profile (6a5d43a83dfe; commit)
  • perf: add a portable register-tile 3D transpose for non-NVIDIA toolchains (39e24d2b9641; commit)
  • perf: apply resource-derived packing to four-step row and column kernels (ef401fc61bfc; commit)
  • perf: stage large complex64 leaves through one shared buffer (3a6c3ea676fc; commit)
  • perf: run small 3D C2C cubes as strided leaves without permutations (ade1319de69a; commit)
  • perf: add a leaf io_mode that fuses the axis permutation into the store (41963805d3aa; commit)
  • perf: cover all three fused 3D passes in the permuted-store leaf (45c5169fd8a0; commit)
  • perf: run large 3D cubes as three fused axis passes (0efaeba8f715; commit)
  • perf(maca): widen the exchange tensor by packing instead of idling lanes (e93460f0b8ba; commit)
  • perf(maca): vectorize complex IO with a [..., 2] block (179e83a0b367; commit)
  • perf(maca): widen the contiguous leaf exchange tensor by packing too (be383ed7ec8e; commit)
  • perf(maca): default the portable exchange pack floor on, capped at four (ab8f7606f401; commit)
  • perf(maca): default the derived exchange pack to two (9939f4c383f6; commit)
  • perf(maca): derive the exchange pack from the ceiling, not the warp width (3c1bf02156b0; commit)
  • perf(maca): fill a 256-thread block in the four-step pack (141acb964492; commit)
  • perf(maca): prototype joined register exchange behind opt-in knob (cc78947e11cb; commit)
  • perf(maca): add static tensor transpose exchange experiment (ee37f8a82449; commit)
  • perf(maca): add opt-in two-kernel Bluestein leaf boundary fusion (5301646363c1; commit)
  • perf(maca): isolate experimental four-step Bluestein boundary fusion (e0957caee8a4; commit)
  • perf(maca): route structured exchange directly to stage registers (1fff7220e30b; commit)
  • perf(maca): prototype padded register joins for mixed radix leaves (73a1077465d0; commit)
  • perf(maca): pad register banks before splitting stage outputs (0dc82ffc056f; commit)
  • perf(maca): add opt-in high-bit-first register splitting (e90be656d6d4; commit)
  • perf: add bounded-loop NPU prime Stockham stage experiment (f68a26735797; commit)
  • perf: add opt-in NPU prime Stockham qualification route (55ccc8d92354; commit)
  • perf: use supported static loop for vector prime stage experiment (aeb20f9c7eef; commit)
  • perf: specialize Stockham stage span and remove unit twiddles (bf516e6645bb; commit)
  • perf: select bounded vector lowering for prime Stockham stages (bde5fe6635cf; commit)
  • perf: parameterize small NPU Stockham butterfly tiles (0ffbcba4e6b8; commit)
  • perf(npu): select packed real FFT for bounded single FP32 Stockham plans (3a422887678a; commit)
  • perf: enable 16-butterfly tiles for single small NPU FFTs (b866fded0401; commit)
  • perf: pair input and output digits in NPU prime Stockham stages (38c6a2a50f66; commit)
  • perf: allow isolated tile qualification for NPU prime stages (f8d1e67ee4cc; commit)
  • perf(ix): widen default 4096 single leaf lanes (b978aea6ab02; commit)
  • perf(maca): allow pack8 for register-routed power-of-two exchange (f29fc5b29f2f; commit)
  • perf(maca): gate opt-in pack8 by leaf layout (a5a36b02fe2b; commit)
  • perf(maca): enable measured policy for 1d single by default (8045792448de; commit)
  • perf(ix): add opt-in portable tensor exchange experiment (cdc46fc6b90b; commit)
  • perf(maca): bound FP64 register pack trial to balanced small power-of-two leaves (f16e54f8611a; commit)
  • perf(maca): opt in to fused real DirectDFT boundaries (8190bab3a465; commit)
  • perf(ix): expose validated leaf factor override for screening (af84bb046889; commit)
  • perf(maca): add bounded opt-in tail plan comparisons (83c835744290; commit)
  • perf(ix): apply factor experiments to fixed four-step leaves (32c9cf77471b; commit)
  • perf(maca): add opt-in mixed exchange direct register readback (708879e2a3e1; commit)
  • perf(ix): allow isolated physical warp-count experiments (c3be155360d4; commit)
  • perf(ix): add opt-in register Stockham comparison for large powers of two (2f3bb797c2c9; commit)
  • perf(ix): prototype XOR-routed single-transform leaf (c70eac500162; commit)
  • perf(ix): coalesce early Stockham stage stores through tensor joins (d34869653e68; commit)
  • perf(ix): probe register-resident four-step specialization (323ad093eba1; commit)
  • perf(maca): add opt-in FP64 real DFT tree reduction (5435143ae648; commit)
  • perf(ix): align portable twiddle tables and probe twiddle recurrence (9e0e6bfe5d75; commit)
  • perf(ix): use native scalar IO for register four-step probe (46f9fd93c746; commit)
  • perf(ix): shorten twiddle recurrence dependencies with a power tree (05a33c47ad33; commit)
  • perf(ix): probe inverse butterflies through real-imaginary exchange (97e2b8266b33; commit)
  • perf(ix): scope validated 2048 single policy and remove rejected experiments (38c932eb5055; commit)
  • perf(maca): add bitwise transpose probe with masked tails (d17a5a712188; commit)
  • perf(ix): add opt-in contiguous-child four-step diagnostic path (5381b7f9b31f; commit)
  • perf(ix): expose bounded TLE packing and portable vector IO diagnostics (9c5b095c870d; commit)
  • perf(maca): wire packed 2d transpose for end-to-end validation (b86a38c32378; commit)
  • perf(ix): expose symmetric power-of-two shared exchange swizzle (3c7f1217a8b9; commit)
  • perf(ix): add opt-in interleaved shared exchange and two-stage pack bound (108f122e7ae3; commit)
  • perf(maca): add opt-in 2d real row fusion (1bb6c116457e; commit)
  • perf(ix): select accuracy-checked half-length real transforms on four large single sizes (7e15fc6f8d57; commit)
  • perf(ix): add opt-in shorter factorizations for latency-bound leaves (401cba08d330; commit)
  • perf(maca): enable validated fp32 single 2d policy by default (de706c49a7be; commit)
  • perf(ix): integrate scoped single-transform portable and TLE candidate policies (23d258afa2b8; commit)
  • perf(ix): remove rejected diagnostics and document the integrated candidate (4b92458a76dd; commit)
  • perf(maca): pack short real rows within the qualified 2d scope (2213bf456bb7; commit)
  • perf(maca): preserve batched mixed row policy in 2d RC schedules (ccdb1184d1b9; commit)

Hardware Support

  • musa: add Moore Threads (MUSA/muFFT) backend support (#14) by @Artlesbol

Improvements

  • refactor(acceptance): align runner output with the FlagGems contract (#23) by @Artlesbol
  • Improve 1D FFT performance (d794ef33527a; commit)
  • refactor: remove old pytest/benchmark infrastructure, update docs for unified test runner (ac9aa22c65f2; commit)
  • Refactor FFT acceptance matrix for dtype and batch placement (eab64dc09f4b; commit)

Dependencies

  • deps: bump libtriton_jit to fft-launch-opt and fetch gtest for ctest (394a44ba83ae; commit)
  • deps: pin libtriton_jit to the unified backend revision (14834ae5b6d3; commit)

Documentation

  • docs: add 2D FFT implementation design spec (d6fb2d0a7e21; commit)
  • docs: document Docker build environment (82647fa7e157; commit)
  • docs: update README and Dockerfiles to include pytest as a build dependency (f21f0fbe5f93; commit)
  • docs: clarify scales description in README numerical acceptance section (92c227f214f7; commit)
  • docs: remove outdated test correctness command from README (16b81b6296b8; commit)
  • docs: rewrite README with quickstart, dependencies, build options, API, CLI, and testing sections (a3aa52b56b75; commit)
  • docs: update README for clarity and accuracy in installation and usage instructions (408f6431346b; commit)
  • docs: update Python version requirement to 3.12 in dependencies section (e96e2c471b92; commit)
  • docs: update README steps for clarity in cloning and building instructions (a8b1c846d794; commit)
  • docs: record implemented 2D RC/strided optimization status (9a7f70348da6; commit)
  • docs: remove redundant opt and superpowers directories (465f8c4e1628; commit)
  • docs: update clone instructions in README for correct repository URL (886bd91d26aa; commit)
  • docs: update README for backend support and clarify dependencies (0e990e4e410a; commit)
  • docs: record MUSA slow-case tuning and A100 validation (d06dd0eb6624; commit)
  • docs: inventory optimization features (87b374f70762; commit)
  • docs: record batch generalization validation (8c7aeadd2bea; commit)
  • docs: record completed MACA native API validation (b418ebc42aa4; commit)
  • docs: record C550 MACA performance baseline and tuning gaps (93d32a67b93e; commit)
  • docs: update MACA validation runner usage (2283d907de6f; commit)
  • docs: record profile-derived four-step packing and the portable 3D transpose (804a1d14803e; commit)
  • docs: record single-buffer leaf staging and its eligibility rule (f5312343614f; commit)
  • docs: record CUDA validation of the hardware-profile branch (d37df74d65a0; commit)
  • docs: record the MACA portable-transpose validation (43172e040aa3; commit)
  • docs: record the MUSA portable-transpose validation (2adf52bbfb86; commit)
  • docs: keep only the architecture guide (6156dfe455da; commit)
  • docs: record why the permuted store keeps its tl.trans (36b75b20fead; commit)
  • docs(maca): record the measured 512-thread block limit (241f0afcdc26; commit)
  • docs: define MACA single FFT experiments and acceptance gates (7b6b71b38394; commit)
  • docs(maca): record verified 1024 exchange ablation evidence (c9558cf99f8a; commit)
  • docs: record MACA ablations and timing stability requirements (d1887ef33d9c; commit)
27 more changes
  • docs(maca): record exchange scope and packing audit (98e4b4ad3802; commit)
  • docs(maca): distinguish mixed codelet arithmetic from exchange cost (e77654da7552; commit)
  • docs: qualify warm MACA speedups and isolate fusion contribution (391cf7d98cc3; commit)
  • docs(maca): record prime route coverage and controlled fusion attribution (f25c475c2918; commit)
  • docs(maca): record pack8 resource and packed arithmetic evidence (7daf35a885b7; commit)
  • docs: record warm pack8 gains and completed inverse correctness gates (6b53ff1de112; commit)
  • docs(maca): align prime tuner final warmup with validation protocol (7cbc4db775c5; commit)
  • docs(maca): preserve negative vector IO result with lowering evidence (a287afd9df50; commit)
  • docs(maca): record mixed exchange resources and lane arithmetic evidence (d80f62fee91d; commit)
  • docs(maca): distinguish stable acceptance from early screening (4dbbe6c2290a; commit)
  • docs(maca): record pack8 fused large prime resource evidence (7d387622d022; commit)
  • docs: accept three-process bidirectional MACA small-case results (d5f70c93760f; commit)
  • docs: complete MACA IX and Ascend setup (7bc38143980c; commit)
  • docs: add Hygon BW1000 HCU environment setup (73e2efac2871; commit)
  • docs: prefer unified HCU test build (1c5acbdec718; commit)
  • docs: add complete Ascend CANN9 setup guide (046018b9b828; commit)
  • docs: add complete Ascend CANN9 setup guide (b56ff5febf8e; commit)
  • docs(hcu): document rocm_smi library ordering (0a4a9718b323; commit)
  • docs: clarify FlagTree Ascend container entrypoint (d664b3dab71b; commit)
  • docs: make Ascend setup guide step by step (12cc497e2a30; commit)
  • docs: use source FlagTree setup for Ascend (dc99d46a0cea; commit)
  • docs: record reproducible Ascend FlagTree source setup (15548fa06dc2; commit)
  • docs(maca): qualify tail wins and negative experiments with device results (68fb38c273b5; commit)
  • docs(maca): record bounded policy CPU acceptance and rebuild requirement (a58b2b3e5be4; commit)
  • docs: record 2d optimization decisions and screening evidence (11cc2257c8cd; commit)
  • docs(maca): record final 2d acceptance results (2cbcf02fada1; commit)
  • docs(maca): record tail policy GPU A/B verification on the merged dev base (382590e06757; commit)

CI/Infrastructure

  • [packaging] Add Debian + RPM packaging for the NVIDIA backend (#12) by @shiptux
  • ci: publish release packages to FlagOS Nexus via the shared workflow (#19) by @shiptux
  • build: relax the external nlohmann_json floor to 3.10.5 (#22) by @shiptux

Testing

  • test: enhance 2D FFT test coverage and add optimization doc (7febb944af72; commit)
  • test: add missing 2D real FFT test coverage (e6b82e721b40; commit)
  • test: update 2D real type test to reflect new support (6e9f07ecf605; commit)
  • test: replace INSTANTIATE_TEST_SUITE_P with override_params() and add direction filtering (df21d3fbc8b4; commit)
  • test: expand large 1d fft matrix (955e03f9a19d; commit)
  • test: expand large 1d API benchmark matrix (78dab39b88df; commit)
  • test: expand prime FFT coverage and add incremental CSV output (d90464e795e0; commit)
  • test: expand 2D and 3D coverage (a9b2e73eabba; commit)
  • test: isolate prime-path matrix coverage (e13399bcfbbf; commit)
  • test: update stale prime plan assertions (01497ea49746; commit)
  • test: record written_at timestamp in incremental CSV (228f08819431; commit)
  • test: record written_at timestamp in incremental CSV (ca2c3f2da080; commit)
  • test: adapt unified runner to new test matrix (5d287b9f7cb4; commit)
  • test: record backend in incremental CSV (120f40245370; commit)
  • test: expand 1D CT sizes to 30-size suite (caebf3638cdb; commit)
  • test: add out-of-tree NumPy FFT validation harness (dac583add3de; commit)
  • test: move NumPy FFT validation tool under tools (f9cb55f5823d; commit)
  • test: isolate FFT validation implementations (c3047181b1e7; commit)
  • test: enforce complete acceptance coverage and update CI reporting (52158d24a72c; commit)
  • Test isolated capability-probe failures and descendant timeouts (3427a518f508; commit)
  • test: reduce default timeout to 200s (7344b5f93e19; commit)
  • test: enable portable 3D transpose on MUSA for platform validation (7bb64e6a1903; commit)
  • test: pin the default-profile packing expectation to a declared backend (47f5aa8d7064; commit)
  • test(codegen): decode the MACA portable exchange index back to its layout (c6fa06eab3ca; commit)
  • test(maca): make the exchange pack ceiling overridable (f5d9c6456540; commit)
  • test(maca): make the cooperative warp cap overridable (505bf1ecacf1; commit)
  • test: audit acceptance performance thresholds and reference validity (8d198b7638c6; commit)
  • test: reject incomplete or duplicate performance acceptance matrices (fb3639eb9caa; commit)
  • test(maca): cover exchange precision and mixed radix fallbacks (94f1d0d13037; commit)
  • test(maca): cover two-stage Bluestein chirp and scaling against NumPy (5c75c457b43e; commit)
16 more changes
  • test(maca): derive boundary launch warps from production metadata (eab37f155cf5; commit)
  • test(codegen): verify Bluestein metadata matches emitted batch strides (8e54f958eceb; commit)
  • test(maca): keep exchange test import within configured path scope (4eb5aa1f6eb7; commit)
  • test: preflight isolated MACA comparison cache directories (a02bc1239845; commit)
  • test: allow higher warmup for final MACA cross-process checks (12183b0e2452; commit)
  • test(maca): add isolated same-process C API NumPy acceptance (43e9ba715007; commit)
  • test: add bounded Ascend Stockham stage qualification probe (c9f990867aad; commit)
  • test: match raw scalar signature in Stockham probe (7f6d5149cf2c; commit)
  • test: cover Stockham span cache separation and compile-only probing (030eea34a07b; commit)
  • test(npu): cover real FFT endpoints scaling and in-place layouts (63a0b3988532; commit)
  • test(maca): add opt-in same-address C API acceptance (af7a14df9ae7; commit)
  • test(ix): isolate per-card candidate sweeps and terminate timed-out JIT children (c96120cd1c14; commit)
  • test(maca): cover 2d real row C API boundaries (d079db350986; commit)
  • test(maca): cover short real row boundaries (994ca976f6e8; commit)
  • test: drop unused in-place runtime changes (b8c43ffcaa5f; commit)
  • test: add mixed-radix CT size 210 (46338c973526; commit)

Bug Fixes

  • fix: add Bluestein fallback for 2D sub-plans, support prime dimensions (a9bd32b7d5df; commit)
  • fix: reject padded 2D layouts until execution handles strides (97fc825435b8; commit)
  • fix: improve test infrastructure for 2D correctness and cuFFT reference (c9ffbdb0cf62; commit)
  • fix: restore libtriton_jit submodule reference (681abadded8b; commit)
  • fix: resolve merge conflicts in 2D plan building (e97fa4474c3e; commit)
  • fix: resolve P0/P1 critical issues in unified test runner (1103bc89be84; commit)
  • fix: resolve P2 issues in unified test runner (47426c2ff18b; commit)
  • fix: resolve test parameterization bugs in unified test runner (43a2e0305d02; commit)
  • fix: correct fused four-step coordinates (9cba0ed8b7ae; commit)
  • fix: repair mixed-radix real FFT codegen (2b17f773a4bc; commit)
  • fix: repair multidimensional real FFT correctness (b8c845b75631; commit)
  • fix: support in-place DirectDFT for 2D/3D real transforms (3e227db3eed0; commit)
  • fix: chunk Bluestein batch workspace to fix large-prime batch=256 OOM (06a943af4f50; commit)
  • fix: correct inner twiddle indexing for thread-local mixed four-step kernels (99fa609e13cd; commit)
  • fix: correct thread-local mixed-radix inner twiddle index (6dcd51585409; commit)
  • fix: reject mixing full/all with other combinations (eca11fb7da05; commit)
  • fix: preserve report compatibility and test interruption handling (3f87b2ff9dc4; commit)
  • fix: reuse libtriton_jit JSON target (149e186f8b57; commit)
  • fix: support external and fetched JSON dependencies (c452713094cc; commit)
  • fix: support CoreX legacy graph instantiation API (26fb70650f9c; commit)
  • fix: keep SQLite dependency on merged CLI (af53295fe03b; commit)
  • fix: include tiled-transpose dimensions in the kernel cache key (d6ffccb85c8a; commit)
  • fix: keep SQLite dependency on merged CLI (4aa590c433ed; commit)
  • fix: bound native accuracy capture memory (044dc58f9760; commit)
  • fix: release native capture file cache (7542f18ff29d; commit)
  • fix: fall back to backend launch facts and gate the portable 3D transpose (a862264ec8df; commit)
  • fix(maca): index the portable exchange with the register layout in use (02511b2dbefb; commit)
  • fix(maca): parenthesize the vectorized IO pointer, raise the four-step pack (49ce50050610; commit)
  • fix(maca): let an explicit inner pack bypass the tensor-width floor (9bfc12782ebe; commit)
  • fix(tools): launch the MACA probe with the codegen's own warp count (4087d5caec70; commit)
15 more changes
  • fix(test): count the permuted-store leaf in the kernel registry (7349c19da0ae; commit)
  • fix: define the single-slot fused-store row base (245071daf699; commit)
  • fix: handle grouped and single-slot fused-store leaves (5e782b798077; commit)
  • fix(codegen): match Bluestein boundary leaf metadata to batch packing (f1fd63810958; commit)
  • fix: keep acceptance output empty before runner starts (434a19a29f7f; commit)
  • fix(maca): cap four-step shared memory at runtime limit (b121ff4ac3c2; commit)
  • fix(maca): budget direct-all mixed-radix joins (c9cad9948779; commit)
  • Fix HCU hipFFT handle conversion (9af10f62ab82; commit)
  • fix(maca): keep FP64 exchange packs under shared-memory limit (adaac7942a52; commit)
  • fix(ix): bind sweep codegen to the tested checkout (56e7f34284f4; commit)
  • fix(ix): benchmark C2R with its required inverse direction (00320bfb8e96; commit)
  • fix: avoid graph capture during kernel profiling (74cc1ecaf96d; commit)
  • fix(maca): keep 2d policy isolated from degenerate 3d requests (55d42f9150cd; commit)
  • fix(maca): preserve row policy only after RC selection (ba114a539a23; commit)
  • fix(maca): keep subthreshold mixed-radix plans opt-in (4d0f75f9123c; commit)

Other

  • chore: add Apache 2.0 copyright header to all source files (#13) by @tengqm
  • Implement IX backend for FlagFFT with CoreX support (#17) by @Artlesbol
  • Merge branch 'worktree-rader-algorithm' (a51fa27878b0; commit)
  • conf: add operators.yaml and test_matrix.yaml for unified test runner (1b4331862197; commit)
  • Merge branch 'worktree-ci-workflow': Add CI workflow with unified test runner (3d2633be43fc; commit)
  • Merge branch 'worktree-readme-rewrite': Rewrite README with comprehensive documentation (4a6f6b7494bd; commit)
  • Merge branch 'worktree-cli-align-upstream': Align run_tests.py with upstream FlagGems (53beeb7569b5; commit)
  • fetch gtest form github (97a91162e488; commit)
  • cmake: add support for detecting PyTorch C++ ABI and adjust compilation definitions (fb6f60db586a; commit)
  • Change runner for test job to flagfft-nvidia (52fc1da286d9; commit)
  • Update runner for correctness test workflow (33421385a62f; commit)
  • Update correctness-test.yml (4b945311c46b; commit)
  • Merge branch 'perf/2p20-tle' (3d7d0458438e; commit)
  • Merge branch perf/vkfft-style-1d (f790c4e37c76; commit)
  • tune: support arbitrary 1d decomposition lengths (44f99f487797; commit)
  • Merge branch 'perf/large-odd-mixed-pack' (2d194b3e24e4; commit)
  • Merge branch feat/3d-fft (6938a4b46be1; commit)
  • Merge commit '6938a4b46be12e2b247ecd3ab213b4228cc4afcc' into perf/large-odd-mixed-pack (edc8b83563fb; commit)
  • Merge branch flagfft/generic-16384 (9960be232146; commit)
  • Merge branch test/2d-3d-coverage (dbe49ed0d086; commit)
  • Merge branch fix/2d-3d-real-correctness (531e10faa91b; commit)
  • merge: integrate 2D/3D real FFT correctness fixes (bb66fc39ce48; commit)
  • merge: integrate 1D prime Bluestein performance and 2D/3D fixes (e52107e2e2c7; commit)
  • merge: fix Bluestein large-prime batch=256 plan OOM (bbb168fc880c; commit)
  • Merge branch 'main' into perf/3d-opt (0650bbf6e035; commit)
  • merge: integrate 2D RC/strided performance optimization (9a27c01dafaf; commit)
  • Merge branch 'perf/cuda-graph' (21235540ec85; commit)
  • Merge commit 'eca11fb7da05e00e79c8ed4160c96bef4f24ec55' (973a4a9347d0; commit)
  • Merge branch 'fourstep-general' into main (3378515f4436; commit)
  • Enable validated packed FP64 path on MUSA S5000 (6c691d6a4881; commit)
69 more changes
  • diagnostic: enable FP64 Bluestein fusion on MUSA S5000 (57de8fcd0088; commit)
  • Scope backend-specific plan gates by device type (1af986929a7b; commit)
  • Merge main into MACA adaptation branch (9cb10260db3f; commit)
  • manage correctness test artifacts by policy (fac7f5348cc8; commit)
  • run native accuracy captures before numpy validation (89ce9e89be3f; commit)
  • Bound Four-Step packing and record hardware launch settings in plans (dcb8f8be5a17; commit)
  • Make backend specialization explicit and document profile diagnostics (dcc6f43d29bf; commit)
  • Isolate toolchain caches and add SDK-native FP64 verification (a95eca63cc43; commit)
  • Support direct comparison with an unmodified main build (dace8802f5c2; commit)
  • Validate profile identity and cover constrained Four-Step memory (0db7628f8c57; commit)
  • Document hardware policy semantics and repeatable IX comparisons (1d95bb1f4256; commit)
  • Use the actual CoreX compiler for native FP64 probes (a57652c9fce3; commit)
  • Bound IX packing with a live-value pressure model (61f8858f406b; commit)
  • Query acceptance hardware on the selected GPU (3ab75ebfc222; commit)
  • Bound native probe subprocess trees and preserve timeout logs (1a8842fcc647; commit)
  • Attach device-matched capability evidence to acceptance reports (738f854b0979; commit)
  • Keep packing growth within the native physical-warp budget (409767096e56; commit)
  • Make balanced execution the default on IX (72b631b3b6da; commit)
  • bound accuracy validation memory use (630ac5827286; commit)
  • bound deterministic input generation memory (72516a8c1f98; commit)
  • style: apply black, isort and clang-format to the performance changes (42833e1b419e; commit)
  • stream accuracy validation to bound reference memory (10aae92be1ab; commit)
  • Merge branch 'main' into codex/maca-adapt (a0b135f6ca79; commit)
  • codegen: keep non-MACA warps on the 32-thread assumption (1839e060acf7; commit)
  • Merge branch 'main' into codex/maca-adapt (73a74afeac76; commit)
  • Merge branch 'main' into codex/maca-adapt (693ad8832059; commit)
  • Merge MACA adaptation into main (fb561181d7c9; commit)
  • Merge main (MACA adaptation) into feature/ix-hardware-profile (695132fc44f2; commit)
  • merge: feature/hw-maca into the hardware-profile branch (9258d7d47668; commit)
  • merge: feature/hw-musa into the hardware-profile branch (8438768ca2f0; commit)
  • merge: feature/hw-cuda into the hardware-profile branch (docs only) (ce1f5593e3ab; commit)
  • merge: main into the hardware-profile branch (23aa0f0a130b; commit)
  • merge: MACA codegen optimizations from feature/maca-perf (f9f69c3b1303; commit)
  • merge: integrate MUSA 3D fused-store optimization (0f5c8c82ad8a; commit)
  • bench: expose ordered timing samples in JSON reports (30df0f3e00fa; commit)
  • bench: make timing sample export an opt-in diagnostic (59c89756fa2d; commit)
  • style(maca): format exchange prototypes and semantic checks (6ee6f03f01fc; commit)
  • tools: add isolated MACA single validation entry point (7c4da144cb18; commit)
  • tools: disable tuned plan lookup during controlled MACA validation (677d3d73d31e; commit)
  • tools: add reproducible MACA warmup timing diagnostic (98bd8a7a2117; commit)
  • tools: compare MACA control variants with ordered warm timing samples (ce4a316a5565; commit)
  • tools: allow staged MACA comparison rounds (41bd8310ef8c; commit)
  • tools: support explicit in-process steady repeats for MACA comparison (a495f309bd99; commit)
  • tools: filter acceptance cases by legal FFT directions (8ba68bad34d2; commit)
  • tools: default MACA acceptance to longer steady-state warmup (3b70ce0a61df; commit)
  • Merge branch 'codex/maca-smem-limit' into dev (5e8e6f223b80; commit)
  • Merge Ascend single-CT optimizations (1354709824a8; commit)
  • Merge branch 'codex/maca-directall-smem' into dev (8f38ac08edb6; commit)
  • Allow standalone HCU capture link against Torch HIP (afa170215365; commit)
  • Use memory-safe native policy on HCU (d334654cd613; commit)
  • Merge branch 'codex/bw1000' into dev (637ae21ba162; commit)
  • Merge origin/main packaging updates (3896d8e222d7; commit)
  • Merge branch 'docs/hcu-rocm-smi' into dev (54a0e2f62ea3; commit)
  • Merge branch 'main' into dev (d2c55bdd07c3; commit)
  • Merge branch 'perf/maca-1d-single-default' into dev (6d0c56c52be2; commit)
  • tools: isolate MACA tail A/B runs with 5 warmups and 30 iterations (eb59072fdb9f; commit)
  • tools(ix): add serial card-2 CT screening harness (86bdcf13fddf; commit)
  • tools(ix): bound compilation and screen leaf factors and directions (541d1f851e83; commit)
  • tools(maca): inspect compiled resources before launching tail probes (a1cf00984ee1; commit)
  • tools(maca): run bounded end-to-end tail plans with isolated binaries (f758f09bf37f; commit)
  • tools(maca): inspect tail cache resources without modifying artifacts (fdf3915fbe36; commit)
  • tools(maca): isolate real tail C API alias and scale validation (59c6a17d752e; commit)
  • tools: summarize synced MACA tail results with explicit 0.8 gate (136bf40b0f14; commit)
  • Merge IX 1D CT single optimizations (637744dab6e2; commit)
  • Merge MACA tail candidate policy into current dev (a4ad593d3ce1; commit)
  • Merge perf/maca-2d-opt into dev (05af2db0aab5; commit)
  • Merge branch 'codex/ascend-env-setup' into codex/ascend-docs-merge (6ba168d4d307; commit)
  • Isolate and lock generated JIT artifacts across processes (6790ed2beab0; commit)
  • Run acceptance cases out of place only (c18c4188285e; commit)

Contributors

Thanks to the contributors to the pull requests included in this release.