3ebc37d80d4d35489e2fbc7be6e94f39f5a2d08b
1. Return order: (items, threads) not (threads, items) — matches CCCL scaling_result 2. Items clamp upper bound: nominal*2, not nominal*1 — allows small types to double 3. Threads SMEM cap: min(nominal, round_up(max_smem/(type*items), 32)) — prevents SMEM overflow Verified against all 18 CCCL test cases in catch2_test_util_arch.cu (was 4/14, now 18/18). Note: C++ tuning headers (tuning_reduce.cuh etc.) have corresponding auto [t, i] destructuring that also needs to flip to auto [i, t]. The bi100_* struct values themselves are correct (hand-derived from SMEM constraints), but the policy_selector callers of scale_mem_bound will produce wrong destructuring. Tracked in project/6 as separate fix item.
project_6
Description
Languages
C++
41.8%
Cuda
31.6%
Python
22.2%
C
2.1%
CMake
1.1%
Other
1.1%