Repository navigation
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.
- @Artlesbol (5 PRs)
- @shiptux (3 PRs)
- @tengqm