Three tests:
1. __shfl_down_sync — warp shuffle PTX instruction
2. Manual block reduce (SMEM + shuffle) — handwritten
3. cub::BlockReduce<float, 256> — actual CCCL header
If test 1+2 pass but 3 fails → CUB headers need corex adaptation
If test 1 fails → ivcore10 doesn't support warp shuffle → need different reduction strategy
Run on real machine: python3 qwen3_6_scripts/test_cub_compat.py