There are 16 bar.sync() registers available per *chip*, not per block, and I was using number 8 in the shuffle code. Evidently the driver rewrites them per SM, but does not compact their range. Good to know.