[muh] fix scale_reg: 补上 CCCL scale_reg_bound 的 threads SMEM cap
从 CCCL util_arch.cuh 读入 scale_reg_bound 精确实现:
items = max(1, nominal * 4 / max(4, type_size))
threads = min(nominal, round_up(48KB / (type_size * items), 32))
之前 muh 的 scale_reg 漏了第二行 (threads cap):
return {nominal_threads, items} // 没有 cap!
对 type_size=8/16 (double/int128) 可能导致 threads 过多, 寄存器溢出到 SMEM
超过 48KB 限制。当前 radix sort 参数 (type_size=4, nominal=256-384) 下不触发
但必须修正以保证 type_size=8 (float64 key) 的正确性。
同时加了 threads 下限 32 (一个 warp) 防止 SMEM 极端紧张时 threads=0。