project6
4d9165fa30
arch(tuning): translate CCCL tuning_transform_tile.cuh — derive chunk sizes from hardware
tuning_transform_tile.cuh entire design (90 lines):
pick_tile_size() computes optimal tile dimensions from:
- Hardware: threads_per_block=128, vector_bytes=16 (LDG.E.128),
max_occupancy=16, cc_to_min_bytes_in_flight(cc)
- Data types: min(sizeof(Out), sizeof(Ins)...) → items_for_vec
- Latency: target / (occupancy × threads × bytes) → items_for_latency
- Result: max(vec, latency) rounded to power_of_2, capped at 32
- Special: MUFU-heavy ops with small types → reduce items/thread
Key insight: tile size is DERIVED, not hardcoded.
Translation to _HardwarePolicy.detect():
Previous: deltanet_chunk_size = 64 (hardcoded), prefill_chunk = 4096
Now: chunk_size derived from solve_triangular availability:
- solve_tri available → 64 (amortize launch, like CCCL max_items)
- solve_tri unavailable → 32 (fewer Python iterations, like CCCL
MUFU-heavy reduction for sub-4B ops)
prefill_chunk stays 4096 but with documented derivation from
BI-V100 memory budget (matching CCCL's bytes_in_flight target).
CCCL source: cub/cub/device/dispatch/tuning/tuning_transform_tile.cuh
Maps to: qwen3_6_scripts/qwen3_5.py (_HardwarePolicy)
2026-08-07 09:15:56 +00:00
..
2026-07-30 16:06:20 +00:00
2026-07-30 16:06:20 +00:00
2026-08-07 07:55:04 +00:00
2026-08-07 08:56:50 +00:00
2026-07-30 16:06:20 +00:00
2026-08-05 08:24:43 +00:00
2026-08-07 07:05:40 +00:00
2026-07-30 16:06:20 +00:00
2026-08-05 08:24:43 +00:00
2026-08-06 06:33:26 +00:00
2026-08-07 08:56:36 +00:00
2026-08-07 04:37:44 +00:00
2026-08-07 04:44:18 +00:00
2026-08-07 06:20:02 +00:00
2026-07-30 16:06:20 +00:00
2026-08-07 02:46:46 +00:00
2026-08-07 08:18:41 +00:00
2026-08-07 09:15:56 +00:00
2026-08-07 07:45:28 +00:00
2026-08-05 08:36:52 +00:00
2026-08-06 02:55:51 +00:00
2026-07-30 16:06:20 +00:00
2026-07-30 16:06:20 +00:00
2026-08-07 09:01:57 +00:00
2026-08-05 08:36:52 +00:00
2026-08-07 06:36:12 +00:00
2026-08-07 01:54:52 +00:00