Previous version used __shfl_down_sync for group-level amax reduction, but shuffles operate at warp level and crossed group boundaries. Fix: each thread independently quantizes its assigned 16-element blocks from shared memory. Simpler and correct.
Previous version used __shfl_down_sync for group-level amax reduction, but shuffles operate at warp level and crossed group boundaries. Fix: each thread independently quantizes its assigned 16-element blocks from shared memory. Simpler and correct.