TileOPs-Metax/workloads
ray24777 e18a3a1a71 feat(quant_swiglu): add fused SwiGLU + per-channel FP8 cast op
Implement QuantSwiGLUFwdChannelCastTransposeOp and flip its manifest status
to implemented: fused SwiGLU forward (silu(gate)*value) + per-token-block
FP8 e4m3 cast with optional transpose, returning a packed FP8 output plus an
fp32 per-block scaling-factor tensor.

Faithful port of swiglu_forward_and_per_channel_cast_and_transpose from
MetaX-MACA/TileKernels-Metax @ 0266ab7 (tile_kernels/quant/). The kernel
tiles tokens x hidden, stages the activation in shared memory, reduces the
per-block absmax (packed-bf16 in the non-transpose path, fp32 fragment in
the transpose path), and emits the quantized output.

- kernel: tileops/kernels/quant_swiglu_channel_cast_transpose.py
- op: tileops/ops/quant_swiglu_channel_cast_transpose.py
- workload, correctness tests, manifest-driven baseline benchmark
- manifest: status spec-only -> implemented, source.kernel_map added

Baseline (MetaX C500, 50% compute slice): 4.7-9.4x faster than the torch
reference; 0.24-0.36 TB/s achieved on roofline bytes (kernel is not yet
bandwidth-saturated). See logs/2026-08-03_baseline_notes.md.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-03 15:28:30 +00:00
..
attention [Chore][Cleanup] repo slimming: dead code, duplicated tests/benches, compat shims, file defragmentation (#1764) 2026-07-26 12:59:48 +08:00
__init__.py [Refactor][Benchmark] Detach benchmarks from tests via workloads layer (#787) 2026-04-05 11:38:51 +08:00
bmm.py [Feat][BMM] Add FP8 BMM op (#1709) 2026-07-16 10:09:14 +08:00
elementwise.py [Chore][Cleanup] repo slimming: dead code, duplicated tests/benches, compat shims, file defragmentation (#1764) 2026-07-26 12:59:48 +08:00
engram.py [Refactor][Benchmark] Narrow gen_inputs return types across workload protocols (#970) 2026-04-15 00:46:16 +08:00
fft.py [Refactor][Benchmark] Narrow gen_inputs return types across workload protocols (#970) 2026-04-15 00:46:16 +08:00
fp8_lightning_indexer.py [Perf][FP8_LIGHTING_INDEXER] add kv_group==1 fast path with direct GEMM accumulation (#1707) 2026-07-15 10:55:12 +08:00
fp8_quant.py [Refactor][Benchmark] Narrow gen_inputs return types across workload protocols (#970) 2026-04-15 00:46:16 +08:00
gemm.py [Feat][GEMM] Add FP8 GEMM op (#1666) 2026-07-08 17:03:25 +08:00
grouped_gemm.py docs: add MetaX C500 summer-camp guide on top of upstream dev 2026-07-28 17:55:09 +00:00
linear_attention.py [Chore][Cleanup] repo slimming: dead code, duplicated tests/benches, compat shims, file defragmentation (#1764) 2026-07-26 12:59:48 +08:00
mamba.py [Chore][Cleanup] repo slimming: dead code, duplicated tests/benches, compat shims, file defragmentation (#1764) 2026-07-26 12:59:48 +08:00
mamba2_e2e.py [Chore][Cleanup] repo slimming: dead code, duplicated tests/benches, compat shims, file defragmentation (#1764) 2026-07-26 12:59:48 +08:00
mhc.py [Refactor][Benchmark] Narrow gen_inputs return types across workload protocols (#970) 2026-04-15 00:46:16 +08:00
moe.py [Maintain][MoE] Remove padded MoE expert pipeline (#1538) 2026-06-02 20:15:33 +08:00
normalization.py [Chore][Cleanup] repo slimming: dead code, duplicated tests/benches, compat shims, file defragmentation (#1764) 2026-07-26 12:59:48 +08:00
nsa_utils.py [Refactor][Benchmark] Detach benchmarks from tests via workloads layer (#787) 2026-04-05 11:38:51 +08:00
quant_swiglu_channel_cast_transpose.py feat(quant_swiglu): add fused SwiGLU + per-channel FP8 cast op 2026-08-03 15:28:30 +00:00
reduction.py [Chore][Cleanup] repo slimming: dead code, duplicated tests/benches, compat shims, file defragmentation (#1764) 2026-07-26 12:59:48 +08:00
topk_selector.py [Refactor][Benchmark] Narrow gen_inputs return types across workload protocols (#970) 2026-04-15 00:46:16 +08:00
workload_base.py [Perf][Mamba] Add Mamba2 e2e benchmark and parallel DaCumsum kernel (#1557) 2026-06-09 15:01:30 +08:00